Jupyter Notebook及PyCharm虚拟环境无法识别已安装的requests、bs4、lxml模块求助
问题根本原因
你遇到的是Python多环境路径不匹配问题:你终端里执行pip安装的模块,存到了系统全局/另一个Python环境的第三方包目录里,而Jupyter、PyCharm虚拟环境用的是完全独立的另一个Python解释器,自然找不到你之前装的包。
分步排查解决方法
1. 先确认终端pip对应的Python环境
打开你之前装包的终端,依次执行以下命令:
- 查看pip对应Python版本:
pip -V - 查看当前终端默认Python路径:
which python3(Windows执行where python)
执行后记下输出的Python路径,后续要和IDE/Jupyter的环境路径做对比。
2. PyCharm虚拟环境找不到包的解决方法
PyCharm默认会给每个项目创建独立的虚拟环境,你直接用终端全局pip装的包不会同步到项目虚拟环境里,两种解决方式:
方式1:直接在PyCharm内置终端装包
打开你当前的PyCharm项目,点击底部「Terminal」标签,直接在弹出的终端里执行安装命令:pip install requests bs4 lxml
这个内置终端已经自动激活了当前项目的虚拟环境,装的包会直接存到当前项目的虚拟环境目录里,直接就能用。
方式2:切换PyCharm项目的Python解释器到你终端装包的环境
- 打开PyCharm设置(Windows:File > Settings,Mac:PyCharm > Settings)
- 依次进入Project: [你的项目名] > Python Interpreter
- 点击右上角齿轮图标 > Add
- 找到你刚才记下的终端对应Python路径,选中后确认即可。
3. Jupyter Notebook找不到包的解决方法
Jupyter内核绑定的Python解释器和你终端pip的解释器不是同一个,按以下步骤操作:
- 打开Jupyter Notebook,新建一个代码 cell,执行以下代码查看当前Jupyter用的Python路径:
import sys print(sys.executable)
- 复制输出的Python路径,比如输出是
/usr/local/bin/python3.9 - 打开终端,直接用这个路径对应的pip装包,命令替换成你刚才复制的路径:
/usr/local/bin/python3.9 -m pip install requests bs4 lxml
装完重启Jupyter内核就能正常导入包了。
补充注意事项
- 后续安装Python包时,尽量优先在你要运行代码的环境对应的终端里执行安装命令,避免跨环境找不到包的问题
- 不需要多环境隔离的前提下,初学者可以关闭PyCharm的「新建项目时自动创建虚拟环境」默认设置,统一用全局Python环境,减少环境冲突概率。
内容的提问来源于stack exchange,提问作者Saul Wolkove
相关产品推荐
相关产品推荐

