如何使用pip一次安装多个python软件包


187

我知道这是一种简单的方法,但是我在这里和Google上都找不到。所以我很好奇是否有办法使用pip安装多个软件包。就像是:

pip install progra1 , progra2 ,progra3 ,progra4 . 

要么:

pip install (command to read some txt containing the name of the modules) 

Answers:


264

要在命令行上安装多个软件包,只需将它们作为以空格分隔的列表传递,例如:

pip install wsgiref boto

要从文本文件安装,请从pip install --help

-r FILENAME,-requirement = FILENAME

安装给定需求文件中列出的所有软件包。此选项可以多次使用。

查看有关需求文件的一般布局和语法的pip文档 -请注意,pip freeze如果需要快速的示例,则可以根据当前环境/站点程序包生成一个pip文档 -例如(基于已安装的文件wsgirefboto干净的virtualenv文件) ):

$ pip freeze
boto==2.3.0
wsgiref==0.1.2

4
如果软件包之间存在依赖关系,“空格分隔的列表”对我来说似乎不起作用,例如:sudo -H pip install setuptools trezor导致此错误:“无法导入从源代码发行版安装所需的setuptools。请安装setuptools。”。相反,我需要作为2条单独的命令运行。
乔纳森·克罗斯

这样是否pip install wsgiref boto还会安装库及其依赖项?
模拟

100
pip install -r requirements.txt

然后在requirements.txt文件中,将模块放入列表,每行列出一项。

  • 的Django = 1.3.1

  • 南方> = 0.7

  • django-debug-工具栏


如何使用conda进行相同操作?任何想法?conda intsall -r requirements.txt不起作用。
CKM


您必须指定版本号吗?换句话说,如果仅放在Django一行上,它将自动安装最新版本吗?
乔恩·格拉

您不必指定版本号,通常也不需要指定版本号,尽管pip有时很难预测确切安装的版本,尤其是如果您已配置pip了多个源索引和/或配置选项,从而限制了哪些软件包可以被安装。通常需要指定最低版本要求,例如pip >= 9.0
Tripleee

14

您可以安装称为需求文件的文本文件中列出的软件包。例如,如果您有一个名为的文件,req.txt其中包含以下文本:

Django==1.4
South==0.7.3

然后在命令行中发出:

pip install -r req.txt

pip将安装特定版本的文件中列出的软件包。


5

作为其他答案的补充,您可以使用该选项--no-cache-dir禁用pip中的缓存。使用一次安装多个软件包时,我的虚拟机崩溃了pip install -r requirements.txt。为我解决的是:

pip install --no-cache-dir -r requirements.txt

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.