我想知道是否可以在不离开IPython shell的情况下安装python包。
答案 0 :(得分:78)
您可以使用!
前缀,如下所示:
!pip install packagename
!
前缀是运行shell命令的%sc
命令的简写。
您还可以使用!!
前缀作为%sx
命令的简写,以执行shell命令并捕获其输出(默认情况下保存到_
变量中)
答案 1 :(得分:6)
aculich的accepted answer在所有情况下都不起作用,例如:
python
二进制文件正确的命令是:
import sys
!{sys.executable} -m pip install requests
答案 2 :(得分:3)
import pip
pip.main(['install', 'package_name'])
除非{$ 1}}在您的$ PATH中(例如在Windows上),否则上述基于shell的答案无效。
答案 3 :(得分:1)
我喜欢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
答案 4 :(得分:0)
如果您使用的是Conda Package Manager,则以下语法可能会满足您的需求
$ conda install -c conda-forge <targetPackageName>
答案 5 :(得分:0)
在现代 ipython 或 jupyter 中执行此操作的最佳方法是使用 the %pip
magic:
%pip install my_package