pip vs. conda
pip 可以在所有環境下安裝python包。
conda 可以在conda環境下安裝所有包。
如果你已經安裝了python,那麼這個選擇對你來說是非常容易的:
-
如果你是用Anaconda或者Miniconda安裝的python,那麼請使用conda命令來安裝python包。如果conda告訴你你要下載的這個包不存在,那麼使用pip
(或者試試 conda-forge, 它比conda默認的包的數量要更多)。 -
如果你是使用其他方式安裝的python,那麼使用pip來安裝python包。
最後,因爲這樣的問題常常發生,我必須提醒你永遠不要使用sudo pip install
。
通用安裝方式:
# Install a conda package in the current Jupyter kernel
import sys
!conda install --yes --prefix {sys.prefix} numpy
- 這些增加的內容確保了conda能在當前運行的Jupyter核內安裝這個包。
# Install a pip package in the current Jupyter kernel
import sys
!{sys.executable} -m pip install numpy
- 增加的內容確保了你在使用與當前Python核相關的pip版本,因此你所安裝的包能在當前notebook中使用。
錯誤做法
如果你在當前的notebook中使用這樣安裝的包,這種操作通常來說不會起作用,儘管在很簡單的情況下它會起作用。
# DON'T DO THIS!
!conda install --yes numpy
# DON'T DO THIS
!pip install numpy
這實際上源於如下這樣一個事實,即使不考慮Jupyter notebook,使用
$ python -m pip install <package>
來安裝一個包也要比
$ pip install <package>
更好。因爲前者更清晰地指明瞭這個包將安裝的位置。
參考來源:
翻譯:如何在Jupyter notebook中安裝Python包?
Installing Python Packages from a Jupyter Notebook