如何要求 setup.py 列出依赖项?



我有一个第三方软件包,它有一个setup.py文件,它以标准方式调用setup(),传递test_requiresinstall_requiresextras_require。(它不使用requirements.txt文件。

我正在运行一台Windows机器(在Appveyor上),pip install在某些软件包的Windows上是出了名的差。我想使用康达。

在我看来,理想的方法是:

  1. 要求 setup.py 列出它所需的依赖项,而不执行任何操作。
  2. 将该列表传递给 conda 进行安装。
  3. 使用installtest命令调用 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

相关内容

  • 没有找到相关文章

最新更新