繁体   English   中英

如何让setup.py列出依赖项?

[英]How can I ask setup.py to list dependencies?

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

我正在运行一台Windows机器(在Appveyor上),并且在一些软件包的Windows上, pip install非常糟糕。 我想用Conda。

在我看来,理想的进行方式是:

  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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM