【问题标题】:How can I define multiple requirement files?如何定义多个需求文件?
【发布时间】:2016-08-13 03:38:57
【问题描述】:

如何在我的requirements.txt 文件中定义多个需求文件。

-r base.txt
-r test.txt

当前行为是pip 仅安装来自test.txt 的软件包。我希望 pip 能够安装在 base.txttest.txt 中找到的软件包。我可以发誓我过去曾见过有人这样做,但我找不到任何例子。

【问题讨论】:

  • 你确定你有最新的pip吗? pip install -U pip

标签: python python-3.x pip


【解决方案1】:

pip 接受多个 -r 参数:

pip install -r reqs1.txt -r reqs2.txt

pip installsays的帮助:

-r,--要求
从给定的需求文件安装。该选项可以多次使用。

【讨论】:

  • OP 似乎多次使用-r,但它不起作用。你知道pip 的最低版本是多少?
  • @JohnZwinck 我使用的是 pip 8.1.1 和 python 2.7.8。我会看看我周围是否有一个老点子。
  • @JohnZwinck 我尝试使用 pip 7.1.2 并遇到权限错误,因为 pip 试图将文件从系统 python 的站点包复制到我的 virtualenv 中。我猜 pip 的缓存在 7.1.2 中有所不同。我在 pip 的 guthub 问题上搜索“多个要求”时看不到任何内容;只搜索“要求”会带来 20 页的问题 :( 所以我不能准确地说出是什么版本,但至少 > 7.1.2。
【解决方案2】:

您可以让一个文件“包含”另一个文件;例如,如果你把它放在file2.txt:

-r file1.txt
Django
Flask
etc.

那么当你做pip install -r file2.txt时,它也会从file1.txt安装东西。

我经常使用这种策略来拥有一个“基础”需求文件,然后只指定每个阶段(开发、测试、登台、生产等)需要的那些东西

【讨论】:

  • 当我通过 setup.py 安装本地创建的包时,我怎样才能完成同样的事情?例如pip install -e my-package。当我有多个需求文件时,我收到此错误:“my-package setup 命令中的错误:'install_requires' 必须是包含有效项目/版本需求说明符的字符串或字符串列表;无效的需求,在“'-r requi 解析错误'"。
  • 你如何处理 pip freeze ?
【解决方案3】:

我在不同的目录中有很多需求,解决这个问题为:

sudo find . -name "requirement*" -type f -exec pip3 install -r '{}' ';'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2016-04-25
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多