欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在jupyter notebook中安装python包

程序员文章站 2024-03-05 15:43:31
...

原文链接

首先,我简单提一下pip 还是 conda的问题。

对很多使用者来说,选择pip还是conda是非常令人困惑的问题。

去年,针对这个问题我写了一篇详尽得可能超过你想象的博文 , 但这二者的本质区别可以这样概括:

pip 可以在所有环境下安装python包。
conda可以在conda环境下安装所有包。

如果你已经安装了python,那么这个选择对你来说是非常容易的:

如果你是用Anaconda或者Miniconda安装的python,那么请使用conda命令来安装python包。如果conda告诉你你要下载的这个包不存在,那么使用pip
(或者试试 conda-forge, 它比conda默认的包的数量要更多)。
如果你是使用其他方式安装的python,那么使用pip来安装python包。

最后,因为这样的问题常常发生,我必须提醒你永远不要使用sudo pip install。

即便这么做在短期内看起来好像解决了问题,但它总是会在更长的时间范围下带来问题。
比如,如果pip install给了你一个许可错误(permission error),这很可能意味着你在试图安装/升级系统python中的包,比如usr/bin/python。这么做会带来糟糕的后果,因为通常操作系统本身就依赖着某种特定版本的包。
对于日常的python使用,你应该把你的包和系统python的隔离开来,使用 虚拟环境 or Anaconda/Miniconda — 这种场合下我比较喜欢用conda。

How to use Conda from the Jupyter Notebook
如果你在使用jupyter notebook并且你希望通过conda来安装某个包,你也许会想要使用!来直接在notebook里以shell的方式运行conda:

# DON'T DO THIS!
!conda install --yes numpy

(注意:当conda请求用户确认时,我们使用 --yes 来自动回答 y )

出于多种原因(这些原因我将在下面详细介绍),总之,如果你在当前的notebook中使用这样安装的包,这种操作通常来说不会起作用,尽管在很简单的情况下它会起作用。

而以下才是通用的安装方式:

# Install a conda package in the current Jupyter kernel
import sys
!conda install --yes --prefix {sys.prefix} numpy

其中的{sys.prefix}换成自己的虚拟环境的路径
加入–yes是为了自动回答y

这些增加的内容确保了conda能在当前运行的Jupyter核内安装这个包。 (感谢 Min Ragan-Kelley 提出了这个办法).