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

Posted

技术标签:

【中文标题】如何使用 pip 一次安装多个 python 包【英文标题】:How to install multiple python packages at once using pip 【发布时间】:2012-04-14 22:49:47 【问题描述】:

我知道这是一种简单的方法,但我在这里和谷歌上都没有找到它。 所以我很好奇是否有办法使用 pip 安装多个包。 类似的东西:

pip install progra1 , progra2 ,progra3 ,progra4 . 

或:

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

【问题讨论】:

【参考方案1】:

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

pip install wsgiref boto

从文本文件安装,然后从pip install --help

-r 文件名,--requirement=文件名

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

查看the pip documentation regarding requirements files 的一般布局和语法 - 请注意,如果您想要一个简单的示例,您可以使用pip freeze 根据当前环境/站点包生成一个 - 例如(基于已在干净的 virtualenv 中安装 wsgirefboto):

$ pip freeze
boto==2.3.0
wsgiref==0.1.2

【讨论】:

如果包之间存在依赖关系,“空格分隔列表”似乎对我不起作用,例如:sudo -H pip install setuptools trezor 导致此错误:“无法导入从源分发。请安装 setuptools。”。相反,我需要作为 2 个单独的命令运行。 pip install wsgiref boto 是否也安装了库及其依赖项?【参考方案2】:
pip install -r requirements.txt

在 requirements.txt 文件中,您将模块放在一个列表中,每行一个项目。

Django=1.3.1

南>=0.7

django-debug-toolbar

【讨论】:

如何使用 conda 做同样的事情?任何想法? conda intsall -r requirements.txt 不起作用。 试试这个:***.com/questions/35802939/… 必须指定版本号吗?也就是说,如果你把Django放在一行,它会自动安装最新版本吗? 您不必指定版本号,通常也不需要,尽管有时很难预测 pip 然后安装哪个版本,特别是如果您已配置 pip具有多个源索引和/或配置选项,它们限制可以安装哪些包。一个常见的需求是指定最低版本要求,例如pip >= 9.0【参考方案3】:

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

Django==1.4
South==0.7.3

然后你在命令行发出:

pip install -r req.txt

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

【讨论】:

【参考方案4】:

您可以使用以下步骤:

第 1 步: 创建一个包含要安装的软件包列表的 requirements.txt。如果您想在特定环境中复制包,请执行此操作

pip freeze >> requirements.txt

否则将包名存储在名为requirements.txt的文件中

第 2 步: 使用此文件执行 pip 命令

pip install -r requirements.txt

【讨论】:

【参考方案5】:

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

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

【讨论】:

【参考方案6】:

如果你有几个包要安装在命令行,你可以这样做

pip install <package_1> <package_2>

谢谢,

【讨论】:

【参考方案7】:

您可以简单地将多个名称放在一起,用空格分隔,例如

C:\Users\Dell>pip install markdown django-filter

#c:\Users\Dell is path in my pc this can be anything on yours

这在我的设备上安装了 markdown 和 django-filter。

【讨论】:

与已经接受的答案相比,没有添加任何新内容。【参考方案8】:

提供与安装单个模块时相同的命令,仅通过空格分隔格式传递它

【讨论】:

以上是关于如何使用 pip 一次安装多个 python 包的主要内容,如果未能解决你的问题,请参考以下文章

fig, ax = plt.subplots() 中的解包如何为多个子图工作?

如何指定python pip的安装顺序?

使用pip一次升级所有安装的Python包(太牛了)

记一次Python pip安装失败的总结

如何使用 pip 升级所有 Python 包

处理多个 Python 版本和 PIP?