pip vs. conda
- pip 可以在所有环境下安装python包。
- conda 可以在conda环境下安装所有包。
如果你已经安装了python,那么这个选择对你来说是非常容易的:
-
如果你是用Anaconda或者Miniconda安装的python,那么请使用conda命令来安装python包。如果conda告诉你你要下载的这个包不存在,那么使用pip
(或者试试 conda-forge, 它比conda默认的包的数量要更多)。
-
如果你是使用其他方式安装的python,那么使用pip来安装python包。
最后,因为这样的问题常常发生,我必须提醒你永远不要使用 sudo pip install
。
通用安装方式:
python
# Install a conda package in the current Jupyter kernel
import sys
!conda install --yes --prefix {sys.prefix} numpy
- 这些增加的内容确保了conda能在当前运行的Jupyter核内安装这个包。
python
# Install a pip package in the current Jupyter kernel
import sys
!{sys.executable} -m pip install numpy
- 增加的内容确保了你在使用与当前Python核相关的pip版本,因此你所安装的包能在当前notebook中使用。
错误做法
如果你在当前的notebook中使用这样安装的包,这种操作通常来说不会起作用,尽管在很简单的情况下它会起作用。
python
# DON'T DO THIS!
!conda install --yes numpy
# DON'T DO THIS
!pip install numpy
这实际上源于如下这样一个事实,即使不考虑Jupyter notebook,使用
python
$ python -m pip install <package>
来安装一个包也要比
$ pip install <package>
更好。因为前者更清晰地指明了这个包将安装的位置。
参考来源:
翻译:如何在Jupyter notebook中安装Python包?
Installing Python Packages from a Jupyter NotebookInstalling Python Packages from a Jupyter NotebookInstalling Python Packages from a Jupyter Notebook