conda虚拟环境命令行可导入tabula但Jupyter Notebook无法导入
问题原因
该问题的核心是Jupyter Notebook关联的内核与你安装tabula-py的conda虚拟环境不匹配:即便你在激活的虚拟环境中启动Jupyter服务,若该虚拟环境未向Jupyter注册专属内核,Jupyter默认会调用全局Python环境或其他默认环境的内核,自然无法读取到你在目标虚拟环境中安装的第三方包。
解决方法
按照以下步骤操作即可修复:
- 首先保持目标conda虚拟环境处于激活状态,安装ipykernel依赖:
pip install ipykernel # 或使用conda安装 conda install ipykernel
- 将当前虚拟环境注册为Jupyter可用内核,执行命令时替换
<你的虚拟环境名称>为你实际的conda环境名:
python -m ipykernel install --user --name=<你的虚拟环境名称> --display-name "Python (<你的虚拟环境名称>)"
- 重启Jupyter Notebook服务:
- 新建笔记本时,直接在新建菜单选择你刚才注册的对应名称的内核
- 已有笔记本可通过顶部菜单栏「内核」→「更改内核」,切换到对应虚拟环境的内核
如果需要验证内核是否匹配,可以在Jupyter的代码单元中执行以下命令,确认输出的Python路径为你的conda虚拟环境目录下的Python可执行文件路径即可:
import sys print(sys.executable)
也可以选择直接在激活的目标虚拟环境中重装Jupyter,安装完成后再启动服务也能解决问题:
pip install jupyter jupyter notebook
内容的提问来源于stack exchange,提问作者Angus Gray
相关产品推荐
相关产品推荐

