Tit*_*now 8 python setuptools setup.py
在某些情况下setup.py需要导入一些额外的模块,例如:
from setuptools import setup
import foo
setup(
# e.g. a keyword uses `foo`
version=foo.generate_version()
)
Run Code Online (Sandbox Code Playgroud)
如果foo没有安装,执行setup.py会因为ImportError.
我曾尝试使用setup_requires,例如setup_requires=['foo'],但它没有帮助。
那么如何指定这种依赖关系呢?
Tos*_*sha 12
pyproject.toml允许指定自定义构建工具:
[build-system]
requires = [..., foo, ...]
build-backend = "setuptools.build_meta"
Run Code Online (Sandbox Code Playgroud)
我想出了一个技巧 \xe2\x80\x94 调用pip来安装依赖项setup.py
import pip\npip.main([\'install\', \'foo\', \'bar\']) # call pip to install them\n\n# Now I can import foo & bar\nimport foo, bar\nfrom setuptools import setup\n\nsetup(\n ...\n)\nRun Code Online (Sandbox Code Playgroud)\n
中所需的依赖项setup.py无法在 中指定setup.py。您必须在运行之前安装它们python setup.py:
pip install -r requirements.txt
python setup.py install
Run Code Online (Sandbox Code Playgroud)