1. 程式人生 > 程式設計 >完美解決jupyter由於無法import新包的問題

完美解決jupyter由於無法import新包的問題

jupyter因為其在python框架下具有一個較為人性化的設計,從而在資料分析,python教學,以及python的快速學習中大放光彩.

jupyter作為一個類似於spyder的一種編譯器,其美觀實用,而且還易於寫部落格吸引我.

但是由於在jupyter模式下寫程式碼的時候,會發現通過pip install package命令列安裝package完成之後,無法在jupyter模式下

import package,這點一直很困惑,進過百般google,還是找不到原因,或者說大家好像根本覺得這個不是事,因此,我在這裡先

寫個備忘,以免以後忘了

jupyter模式下實用的python編譯路徑與其他模式下的python編譯路徑是不一樣的

在 jupyter 模式下,使用sys包的自省模式,找到自己的編譯路徑....(找了半天,發現有這個東西)

[1] import sys

[2] sys.path

['','/home/zhangll/anaconda3/envs/ipykernel_py3/lib/python36.zip','/home/zhangll/anaconda3/envs/ipykernel_py3/lib/python3.6','/home/zhangll/anaconda3/envs/ipykernel_py3/lib/python3.6/lib-dynload','/home/zhangll/anaconda3/envs/ipykernel_py3/lib/python3.6/site-packages','/home/zhangll/anaconda3/envs/ipykernel_py3/lib/python3.6/site-packages/IPython/extensions','/home/zhangll/.ipython']

輸出結果可以發現,jupyter模式下python的編譯器路徑與Python其他編譯器路徑完全不一樣.

jupyter編譯預設路徑是在 anaconda3/enves目錄下,

但是原生python預設的路徑在

['','/home/zhangll/anaconda3/lib/python36.zip','/home/zhangll/anaconda3/lib/python3.6','/home/zhangll/anaconda3/lib/python3.6/lib-dynload','/home/zhangll/anaconda3/lib/python3.6/site-packages','/home/zhangll/anaconda3/lib/python3.6/site-packages/Sphinx-1.5.6-py3.6.egg','/home/zhangll/anaconda3/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg']

所以,在通過termial/shell模式下安裝的是在python預設路徑,因此需要通過命令模式

$ cd /home/zhangll/anaconda3/envs/ipykernel_py3/bin
$ ./pip install package

這樣才能在jupyter下正常使用

當然可以修改shell的命令路徑的配置來修改pip命令

這個按揭不表

補充知識:將jupyter 放進你的新環境中

在新環境下pip install jupyter之後,輸入

python -m ipykernel install --user --name=環境名即可

以上這篇完美解決jupyter由於無法import新包的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。