问题描述
假设我有一个 setup.cfg
(或 setup.py
)文件,其中列出了所有软件包。
现在,如果我运行 pip install .
,它将安装所有软件包,并且它的依赖项列在 install_requires
中。有没有办法只获取包和依赖项的列表而不下载或安装它们,比如 requirements.txt
格式?
理想情况下,我正在寻找的这个命令也适用于 pip install '.[tests]'
,它会在 tests
中的 extras_require
下列出为 setup.cfg
定义的包。
这个问题没有问什么:
- 我不是要求使用
pip freeze
或pip list
类型的命令来列出环境中安装的所有软件包。相反,我想要相同类型的列表,不是已经安装的包,而是将由setup.cfg
中定义的配置安装的包。 - 我也不是在问如何通过下载这些包来生成这个列表,而只是为了收集它们。我不明白为什么
pip
需要下载这些包,而我需要的只是包和依赖项及其版本的列表。
解决方案
stackoverflow
将此问题标记为重复,但它不是。我找到了一个解决方案,但是因为这个问题已经关闭,我将无法将其作为答案提交,但会将其发布在问题中。
要为 requirements.txt
或 install_requires
中的 setup.cfg
中列出的软件包生成 setup.py
,您需要安装 pip-tools
。
pip install pip-tools
pip-compile
要生成包含在 requirements.txt
下为 extras_requires
和 tests
指定的包的 dev
文件:
pip-compile --extra tests --extra devrequirements.txt file with packages listed under
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)