解决Jupyter Notebook:no module named....但实际已经pip install 的问题

Kefira ·
更新时间:2024-11-14
· 754 次阅读

最近在学习文本分析处理中的句法分析时需要导入斯坦福的stanfordcorenlp模块,然后我在cmd中pip install stanfordcorenlp -i https://pypi.tuna.tsinghua.edu.cn/simple 进入jupyter载入模块时候仍提示了ModuleFoundError,如下图: 

经过一番查询,有的用复制粘贴把模块移动到指定路径下,只是从表面上解决了问题,像我这种打破砂锅问到底的性格这种答案显然是无法打动我的。最后在我的不懈努力终于明白了其中的奥妙。

这里涉及了两个路径 一个是在Anaconda中jupyter中的python编译路径,我们可以通过命令查看,代码如下:

另一个就是我们在环境变量中配置的Python环境的路径,也称默认路径(环境变量添加:右键"此(我的)电脑"->点击"属性"->点击左侧“高级系统设置"->点击右下角"环境变量")。当我们在cmd中用pip命令安装外部模块时都是默认安装在这个路径下的lib\site-packages文件夹下(安装的外部模块都会安装到该文件夹中)若此时环境变量中配置的Python环境的路径与Anaconda中jupyter中的python编译路径不同,就会发生这种import时不会到该路径下寻找模块,因此导致import失败。这种问题多发生在一开始电脑已经装有一个Python环境,后来在安装Anaconda本身软件有自带不一样Python版本,导致两者的路径不统一,pip install下载的模块保存在已配置好环境变量路径下的文件中而不是Jupyter Notebook需要的路径下的文件夹中。

解决办法:1.你可以把已经下载好的模块复制粘贴,复制到这个文件夹下(如下图),然后就可以import了。如果你练自己已经下载的模块在哪都不知道.....这个也好办在cmd中再pip install 模块名,然后系统就会提示你已下载,并告诉你具体的位置,然后复制粘贴就好了。不过个人不建议这样做,因为如果下次下载模块还要移动,很麻烦的......

2.那就是用Anaconda本身软件有自带的Python版本,电脑以前有的就不要用了(也不必非得卸载直接把系统环境变量修改了就行)。例如:E:\Textanalysis\Anaconda3\Scripts;E:\Textanalysis\Anaconda3;(这是我存放的位置,就是这两个位置....Anaconda3\Scripts;......Anaconda3)这样就解决路径冲突问题了,再import就成功了。不过这样一来你以前下载的模块可能就需要重新下载了因为路径变化了...边用边下吧。

最后分享一个小诀窍当你安装模块时可以用这个命令 pip install 模块名称 -i https://pypi.tuna.tsinghua.edu.cn/simple。

第一次写博客,还蛮有意思的啊~


作者:liyang_



module pip install notebook jupyter install pip

需要 登录 后方可回复, 如果你还没有账号请 注册新账号