window下python导入第三方模块的问题

windows10 python3.6.4 pip3

我要使用BeautifulSoup
肯定是安装成功的
请看图

clipboard.png

但是在ide中就报错 找不到依赖

import sys
print(sys.path)
from bs4 import BeautifulSoup
with open('index.html', 'r') as data:
    Soup = BeautifulSoup(data,'lxml')
    print(Soup)

报错

D:\express\python\venv\Scripts\python.exe D:/express/python/web_parse.py
Traceback (most recent call last):
  File "D:/express/python/web_parse.py", line 3, in <module>
['D:\\express\\python', 'D:\\express\\python', 'D:\\express\\python\\venv\\Scripts\\python36.zip', 'D:\\express\\python\\venv\\DLLs', 'D:\\express\\python\\venv\\lib', 'D:\\express\\python\\venv\\Scripts', 'C:\\Users\\nana\\AppData\\Local\\Programs\\Python\\Python36\\Lib', 'C:\\Users\\nana\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'D:\\express\\python\\venv', 'D:\\express\\python\\venv\\lib\\site-packages', 'D:\\Program Files\\JetBrains\\PyCharm 2017.3.1\\helpers\\pycharm_matplotlib_backend']
    from bs4 import BeautifulSoup
ModuleNotFoundError: No module named 'bs4'

Process finished with exit code 1

1,我的理解是python会在sys.path的路径里依次去找依赖,对吧?
2,在这个路径下是有bs4的啊 C:\Users\nana\AppData\Local\Programs\Python\Python36\Lib

clipboard.png

求解答,谢谢

回复
阅读 3.5k
6 个回答

你的ide好像是用了另一个python环境 D:\express\python\venv\Scripts\python.exe ,而有bs4模块环境应该是 C:\Users\nana\AppData\Local\Programs\Python\Python36 。你看下能不能设置ide的解释器路径,可以的话应该就没问题了。

在 ide 中把 sys.path 打印出来看。

sys.path.append('C:\\Users\\nana\\AppData\\Local\\Programs\\Python\\Python36\\Lib\\site-packages')

我猜啊,题主你是不是自己命名了 bs4.py 这样的文件名?
比如你正在运行的那个 Python 程序,以及那个 Python 程序所在文件夹,是不是有叫 bs4.py 的文件?把它(们)改个名字,不要叫 bs4 。

新手上路,请多包涵

要么 你有两个python环境
要么 你命名重名了
要么 我就不知道啦

你看得是 pip 的临时缓存目录吧,你得去你的python 环境下,Lib/sites_packages去找吧?

另外,ide 的环境下的python和cmd下的有时候可能不一样,原因是有多个 python环境, 你得比对一下,是否你ide 下的有你需要的包

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏