【问题标题】:How to install multiple python packages at once using pip如何使用 pip 一次安装多个 python 包
【发布时间】: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) 

【问题讨论】:

    标签: python pip


    【解决方案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 不起作用。
    • 必须指定版本号吗?也就是说,如果你把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】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-07-05
              • 2016-04-27
              相关资源
              最近更新 更多