我如何要求 setup.py 列出依赖项?
How can I ask setup.py to list dependencies?
我有一个第三方包,它有一个 setup.py
文件,它以标准方式调用 setup()
,传递 test_requires
、install_requires
和 extras_require
. (它不使用 requirements.txt
文件。)
我是 运行 一台 Windows 机器(在 Appveyor 上),而 pip install
在某些软件包的 Windows 上是出了名的差。我想用 Conda。
在我看来,理想的进行方式是:
- 请 setup.py 列出它需要的依赖项,而不采取任何操作。
- 将该列表传递给 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
和 return 您的依赖项。命令 distutils.core.run_setup
允许您在受控环境中 运行 setup.py
:
import distutils.core
setup = distutils.core.run_setup("setup.py")
print(setup.install_requires)
Python 变量 setup
有一组属性可以让你戳 setup.py
我有一个第三方包,它有一个 setup.py
文件,它以标准方式调用 setup()
,传递 test_requires
、install_requires
和 extras_require
. (它不使用 requirements.txt
文件。)
我是 运行 一台 Windows 机器(在 Appveyor 上),而 pip install
在某些软件包的 Windows 上是出了名的差。我想用 Conda。
在我看来,理想的进行方式是:
- 请 setup.py 列出它需要的依赖项,而不采取任何操作。
- 将该列表传递给 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
和 return 您的依赖项。命令 distutils.core.run_setup
允许您在受控环境中 运行 setup.py
:
import distutils.core
setup = distutils.core.run_setup("setup.py")
print(setup.install_requires)
Python 变量 setup
有一组属性可以让你戳 setup.py