2017-09-13 140 views

回答

4

不,pip目前没有解析setup.cfg的要求。它只会安装依赖项以及setup.py中提供的主要软件包。

+3

或者,也许你只是想要安装的要求,但不是实际的包? AFAIK,pip本身没有读'setup.cfg'的能力,所有的选项都被'setuptools.config.read_configuration'读入'setup.py'。 – rnorris

+0

@rnorris的评论是正确的。我不想安装Python包本身,我想安装它的依赖关系。我想要'pip install -r requirements.txt',但是像'pip install -r setup.cfg'。 – argentpepper

+0

皮普本身不支持。您可能需要推出自己的解决方案。我可以通过安装特定模块的依赖关系,而不是模块本身来问你想要完成什么吗? – rnorris

2

这是我的解决方法。我使用以下命令解析setup.cfg文件中的install_requires元素,并使用pip安装软件包。

python3 -c "import configparser; c = configparser.ConfigParser(); c.read('setup.cfg'); print(c['options']['install_requires'])" | xargs pip install 

下面是上述命令行中管道之前的Python脚本更易读的版本。

import configparser 
c = configparser.ConfigParser() 
c.read('setup.cfg') 
print(c['options']['install_requires']) 
+0

此脚本不支持必须通过“dependency_links”安装的软件包。 – argentpepper