Jupyter Notebook已创建环境安装包后出现ModuleNotFoundError求助
问题
在自行创建的Python虚拟环境中使用Jupyter Notebook工作,初始环境搭建后能正常导入创建时安装的pyodbc包。但后续安装geopandas包后,在该环境的Notebook中执行import geopandas时触发ModuleNotFoundError,提示找不到geopandas模块。
初始环境创建命令:
python -m venv test . test/bin/activate pip install pyodbc deactivate python3 -m ipykernel install --user --name test
新增安装geopandas的命令:
. test/bin/activate pip install geopandas deactivate
报错信息:
ModuleNotFoundError Traceback (most recent call last) /tmp/ipykernel_47903/1529612126.py in <module> ----> 1 import geopandas ModuleNotFoundError: No module named 'geopandas'
已尝试重新执行python3 -m ipykernel install --user --name test关联内核,但问题依旧。需要解决如何在已创建的虚拟环境中新增安装包并正常使用。
解决方案
1. 确认包安装在目标虚拟环境中
激活虚拟环境后,先确认geopandas已正确安装:
. test/bin/activate pip list | grep geopandas
如果没有输出,重新执行pip install geopandas完成安装。
2. 重新关联内核到虚拟环境的Python解释器
问题核心是内核可能关联了系统Python而非虚拟环境的解释器,按以下步骤修复:
- 激活虚拟环境后,先安装ipykernel(确保环境内有该工具):
pip install ipykernel - 用虚拟环境内的Python重新安装内核,避免系统Python干扰:
python -m ipykernel install --user --name test --display-name "Python (test)"
3. 在Notebook中切换并验证内核
打开Notebook后:
- 点击右上角的内核选择器,切换到
Python (test) - 执行以下代码确认当前解释器路径:
输出路径应为import sys print(sys.executable)test/bin/python(对应你的虚拟环境路径),说明内核关联正确。
4. 清理旧内核(可选)
如果之前的内核残留导致冲突,先删除旧内核再重新安装:
jupyter kernelspec remove test
再执行步骤2的内核安装命令。
内容的提问来源于stack exchange,提问作者34jbonz
相关产品推荐
相关产品推荐

