如何从IPython中安装Python包?

如何从IPython中安装Python包?,python,module,installation,ipython,Python,Module,Installation,Ipython,我想知道是否可以在不离开IPython外壳的情况下安装python软件包。您可以使用前缀如下: !pip install packagename 前缀是%sc命令运行shell命令的缩写 您也可以使用前缀,是%sx命令的缩写,用于执行shell命令并捕获其输出(默认情况下保存到\变量中)。此答案已过时:有关在现代jupyter中实现此功能的更简单方法,请参阅 aculich提供的解决方案并非在所有情况下都有效,例如: 如果您在venv中安装了ipython/jupyter,并通过venv的

我想知道是否可以在不离开IPython外壳的情况下安装python软件包。

您可以使用
前缀如下:

!pip install packagename
前缀是
%sc
命令运行shell命令的缩写


您也可以使用
前缀,是
%sx
命令的缩写,用于执行shell命令并捕获其输出(默认情况下保存到
\
变量中)。

此答案已过时:有关在现代jupyter中实现此功能的更简单方法,请参阅


aculich提供的解决方案并非在所有情况下都有效,例如:

  • 如果您在venv中安装了ipython/jupyter,并通过venv的
    python
    binary直接运行它
  • 如果您有多个python版本,例如
正确的命令是:

import sys
!{sys.executable} -m pip install requests

除非
pip
在您的$PATH中(例如在Windows上),否则上述基于shell的答案不起作用。

我喜欢hurfdurf的答案,但就其本身而言,iPython可能无法识别新模块(尤其是如果它添加到库路径中)。下面是iPython 3的一个增强示例:

import pip
pip.main(['install','pygame'])
# import pygame at this point can report ImportError: No module named 'pygame'
import site
site.main()
# now with refreshed module path...
import pygame
如果您正在使用,以下语法可能适合您的需要

$ conda install -c conda-forge <targetPackageName>
$conda安装-c conda forge

在现代ipython或jupyter中,最好的方法是使用:


实际上,您可以在命令前面加上前缀!e、 g.
!pip安装packagename
@ThomasK是的,你说得对!我更新了我的答案以使用
并解释
%sc
%sx
。我将建议iPython维护人员更新
%quickref
文档,以明确提及
作为替代!太好了,谢谢。我刚刚看到你的拉动请求(我是IPython开发人员之一)@ThomasK真棒!很高兴看到IPython开发人员在这里处于活动状态。您将如何指定python版本?例如,我的笔记本中有Python 2.7和3.5内核。当我使用
时!pip安装
该软件包仅为3.5版安装。
$ conda install -c conda-forge <targetPackageName>
%pip install my_package