“编写Setupscript(http://docs.python.org/2/distutils/setupscript.html)的python doc”提到可以在
部分指定依赖项> 2.4。分布和包之间的关系
[...]可以使用关键字参数指定这些关系 distutils.core.setup()函数。
可以通过指定其他Python模块和包的依赖关系 为require()提供requires关键字参数。值必须是 字符串列表。每个字符串指定一个必需的包, 以及可选的版本就足够了。
要指定需要任何版本的模块或包,请执行以下操作: string应完全由模块或包名组成。例子 包括'mymodule'和'xml.parsers.expat'。
[...]
鉴于这个相当稀疏的信息没有示例,我只想确保我做得对。另外,我在API说明http://docs.python.org/2/distutils/apiref.html#distutils.core.setup
中找不到此requires
参数
这样做是这样的,例如,
setup(name='MyStuff',
version='1.0',
requires='os, sys, progressbar',
[...]
我希望有人可以给我一点洞察力!谢谢!
编辑:
要解决distutils.core,setuptools争议,可以简单地做
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
有意义吗?
答案 0 :(得分:18)
忽略distutils
。如果您要创建一个程序包来指定pip
等工具的依赖关系,那么您需要将setup.py
关闭setuptools
。
install_requires
中列出了 setuptools
个依赖项,其中列出了一个列表:
setup(name='MyStuff',
version='1.0',
install_requires=['progressbar'],
# ...
)
应该是他们自己的发行版。 os
和sys
是Python附带的模块,不应列出。