AI工具:Anaconda中Jupyter不能import已安装module问题解决

jupyter模式下写代码时,通过pip install package命令行安装package完成之后,无法在jupyter模式下import ,这是个通用的问题,我这里遇到的是import jieba,可能import 别的package也会出现,记录下,也花了点时间排查。。。

文章目录

环境

  • windows10
  • anaconda3
  • jieba
  • python3

问题

python3版本,已经安装好了jieba模块,并且已经本地写个.py的测试jieba分词的python文件可以运行

但是就是在jupyter notebook中无法import。类似其他module也会有类似情况

如下

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-6bd034f81497> in <module>
      5 import pandas as pd
      6 import numpy as np
----> 7 import jieba
      8 import codecs
      9 import re

ModuleNotFoundError: No module named 'jieba'


解决

  • 乍一看就是jieba模块不存在,但是实际上python环境已经安装过了,如下检查

    C:\Users\明柯>pip install jieba
    Requirement already satisfied: jieba in e:\study\python3\lib\site-packages (0.39)
    

    说明跟有无安装jieba这个东西无关,而是jupyter notebook认为没安装,没找到这个。

  • 检查当前系统下的module脚本安装路径(也可以理解为编译路径)

    C:\Users\明柯>python
    Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import sys
    >>> sys.path
    ['', 'E:\\study\\Python3\\python37.zip', 'E:\\study\\Python3\\DLLs', 'E:\\study\\Python3\\lib', 'E:\\study\\Python3', 'E:\\study\\Python3\\lib\\site-packages']
    >>>
    
  • 检查jupyter notebook运行环境下的脚本安装路径(编译路径),我的notebook是在anoconda3里的,如下

    如下是在jupyter notebook浏览器里打开的ipython3文件里操作

    In [1]: import sys
    
    In [2]: sys.path
    
    Out[2]: ['D:\\GitTest\\badou\\QAboard\\work\\class1\\45',
     'E:\\study\\anacoda3\\python37.zip',
     'E:\\study\\anacoda3\\DLLs',
     'E:\\study\\anacoda3\\lib',
     'E:\\study\\anacoda3',
     '',
     'E:\\study\\anacoda3\\lib\\site-packages',
     'E:\\study\\anacoda3\\lib\\site-packages\\win32',
     'E:\\study\\anacoda3\\lib\\site-packages\\win32\\lib',
     'E:\\study\\anacoda3\\lib\\site-packages\\Pythonwin',
     'E:\\study\\anacoda3\\lib\\site-packages\\IPython\\extensions',
     'C:\\Users\\明柯\\.ipython']
    
  • 如上可知,系统的路径与anaconda3的jupyter notebook理解的路径不一样,所以有这个问题。因为anaconda3自己会安装需要的module,且不会和系统混合公用,所以他名下的模块安装路径(编译路径)肯定和系统的python模块路径不一样。

  • 解决:进入到E:\study\anacoda3这个路径下有个Scripts目录,在这里面文件路径栏里直接输入cmd(或者cmd 然后cd到E:\study\anacoda3\Scripts路径下),进行安装jieba

    注意,若需要指定版本则pip install jieba=0.39这样

    E:\study\anacoda3\Scripts>pip install jieba
    Collecting jieba
      Downloading jieba-0.42.1.tar.gz (19.2 MB)
         |████████████████████████████████| 19.2 MB 939 kB/s
    Building wheels for collected packages: jieba
      Building wheel for jieba (setup.py) ... done
      Created wheel for jieba: filename=jieba-0.42.1-py3-none-any.whl size=19314481 sha256=ac593ad59de55018cc6750101fe6cab7b9e1a3695fbb26044dd3c3ae0a10a0ca
      Stored in directory: c:\users\明柯\appdata\local\pip\cache\wheels\24\aa\17\5bc7c72e9a37990a9620cc3aad0acad1564dcff6dbc2359de3
    Successfully built jieba
    Installing collected packages: jieba
    Successfully installed jieba-0.42.1
    
    E:\study\anacoda3\Scripts>
    
  • 验证

    安装完毕后,再次去jupyter notebook里试下import jieba

    In [3]: import jieba
    
    In [4]: # 全模式
    		seg_list = jieba.cut("南京市长江大桥",cut_all=True)
    		print(",".join(seg_list)) 
    
    		Building prefix dict from the default dictionary ...
    		Dumping model to file cache C:\Users\明柯\AppData\Local\Temp\jieba.cache
    		Loading model cost 1.001 seconds.
    		Prefix dict has been built successfully.
    
    		南京,南京市,京市,市长,长江,长江大桥,大桥
    
    

如有更简便的解决方案欢迎讨论

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章