问题
在jupyter里跑代码,我们pip install某个模块并且显示下载成功,但是当我们去import导入时,发现还是显示No module xxx found这个报错。
原因
出现这种情况的原因是Anaconda所配置的库路径没有包含当前的python的库路径。
可以看到这是我jupyter的路径
而这是我终端的路径
可以看到明显是不一样的。
如果我们的jupyter所配置的库路径没有包括pip install第三方库安装路径的话,我们在Jupyter是调用不了pip install的下载的包的。
解决方法有两种:
第一种,就是把Pip install的路径设为jupyter所配置的路径。
改成上文里第二行的site-packages这一行的路径。
更改方法详见查看第三方库的安装路径并修改路径
第二种就是我题目说的,添加Jupyter的package路径。
网上我目前找到了两种方法:
(1)sys.path.append添加路径
这种方法治标不治本,每次我们打开jupyter的时候都要添加这几行代码。
(2)添加环境变量
这种方法我在我电脑试了也没用,下面说的是最后一种方法。
(3)更改jupyter配置文件
我们cmd打开终端,输入
jupyter --config-dir
可以看到系统返回一个路径,我们复制下来,去到 .jupyter的目录下
可以看到jupyter_notebook_config.py文件,如果没有的话就创建
在该文件中添加这段代码
import os
c = get_config()
c.NotebookApp.extra_sys_path = [os.path.join(os.environ['HOME'], 'path/to/your/python/packages')]
其中'path/to/your/python/packages'是你的package库的路径。
格式如下:
不知道自己路径的话,可以去看上面那个查看第三方库安装路径的链接。
保存文件并关闭,然后重启Jupyter,再去输入
import sys
sys.path
应该就可以看到路径多了我们所添加的这一行路径了,并且代码运行不会出现NO module。
好文链接
发表评论