在jupyter notebook中导入库失败No module named xxx但在命令行中可以导入的问题

有时,在安装完jupyter notebook后,会出现明明已安装xxx库,却无法import的问题,提示No module named xxx。而在命令行的python中,却可以进行import。原因这个jupyter notebook使用的pythonpath是系统默认python path,而不是命令行中的,比如anaconda的,python path。

我们可以通过在两个环境中,分别

import sys
print(sys.path)

来查看各自的python path的路径。

 

解决方法有两种:

一是,可能是在这个新的环境中没有安装对应的jupyter notebook/ jupyter lab 

在anaconda navigator中安装对应的notebook /lab.

或者

conda activate /your/envs/
conda install -c conda-forge notebook
conda install -c conda-forge jupyterlab

 

二是,两者的path不同。

一次性的解决办法只需要把需要import的包的路径导入到本notebook的sys path里即可。
如在jupyter notebook 中,

import sys
sys.path.append('your/lib/path')

如果想一劳永逸的将它添加进jupyter的python path中,修改~/.bashrc即可,在~/.bashrc后加入新的环境变量PYTHONPATH,如:

export PYTHONPATH="your/lib/path:your/second/lib/path:"$PYTHONPATH"

如果这样jupyter notebook报错,或仍不能导入,那有可能你jupyter使用的python和命令行中的python不是一个版本,也就意味着你很可能在不同的python环境中安装了不同版本的jupyter notebook。
可以使用

import sys
print(sys.executable)

分别查看两者,如果是不一样的,可以使用which python在命令行中找到你所用的python版本,安装起对应的jupyter,如:

/home/your_user_name/anaconda3/envs/bin/python -m pip install ipykernel

如果不能解决问题,建议查看我的另一篇文章https://mpnew.csdn.net/console/editor/html/104286420,卸载所有版本的jupyter并在你使用的python环境中重装jupyter notebook。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值