Python脚本可正常导入langchain,但Jupyter Notebook导入失败求助
Jupyter Notebook无法导入langchain的问题解决
问题原因
- Jupyter使用的Python内核和你运行普通脚本的虚拟环境不匹配。手动添加sys.path无效,大概率是内核加载时的环境优先级、缓存机制或者路径添加顺序不对导致的。
- 你添加路径时可能用了
append而非insert(0, ...),导致自定义路径排在系统默认路径之后,Python优先搜索其他位置没找到langchain。
解决方法
方法1:给虚拟环境绑定Jupyter内核
这是最彻底的解决办法:
- 激活你的虚拟环境:
source /home/parallels/web/ChatGPT-Tabular-Data-main/env/bin/activate - 安装内核依赖:
pip install ipykernel - 将虚拟环境注册为Jupyter内核:
python -m ipykernel install --user --name=chatgpt-tabular-env --display-name="Python (chatgpt-tabular-env)" - 重启Jupyter,在右上角内核选择器里选刚创建的
Python (chatgpt-tabular-env),再执行导入操作。
方法2:在Notebook中强制添加路径
在Notebook第一个单元格执行以下代码,确保自定义路径优先级最高:
import sys # 把虚拟环境的site-packages放在路径最前面 sys.path.insert(0, '/home/parallels/web/ChatGPT-Tabular-Data-main/env/lib/python3.10/site-packages') import langchain
方法3:确认包的安装位置
激活虚拟环境后跑pip list,检查langchain是否在列表里,避免之前误把包装到了全局Python环境而非这个虚拟环境。
内容的提问来源于stack exchange,提问作者Stephen Peters
相关产品推荐
相关产品推荐

