我有一个第三方包,其中有一个setup.py
文件,以标准方式调用setup()
,传递test_requires
,install_requires
和extras_require
。 (它不使用requirements.txt
文件。)
我正在运行一台Windows机器(在Appveyor上),并且在Windows上使用某些软件包时,pip install
非常糟糕。我想用Conda。
在我看来,理想的进行方式是:
install
或test
命令调用setup.py,确信它将检查其要求,而不是找到需要安装的任何内容。我认为python setup.py --requires
可能会做到这一点,但它的记录很少,并且什么也没有返回。
如果这是一个合理的方法?如果是这样,有没有办法要求setup.py评估其依赖关系,并列出它们而不安装它们。
python setup.py egg_info
将编写一个package_name.egg-info/requires.txt
文件,其中包含您想要的依赖项。
你可以让distutils
阅读setup.py
并返回依赖项。命令distutils.core.run_setup
允许您在受控环境中运行setup.py
:
import distutils.core
setup = distutils.core.run_setup("setup.py")
print(setup.install_requires)
Python变量setup
有一组属性,允许你戳setup.py