我正在编写一个setup.py
脚本并想指定对 MySQL 包的依赖:
requires=['requests', 'mock', 'GitPython', 'MySQL-python']
但是MySQL-python
对于设置工具来说看起来是非法的,因为它认为-
应该有一个版本并且它会抛出这个错误:
ValueError:预期的带括号的列表:'-python'
我可以在这里做什么?
环境:Python 2.7.3;精确 32
要指定需要任何版本的模块或包,字符串应完全由模块或包名称组成。示例包括“mymodule”和“xml.parsers.expat”。
考虑到这一点,您应该能够检查 MySQL-python 的_mysql
模块:
requires=['requests', 'mock', 'GitPython', '_mysql']
在这一点上,您不应该遵循 distutils 文档。 requires
来自为分发定义元数据的 PEP,但它实际上不适用于任何工具,包括 distutils。现在,您需要选择一个不在标准库中的打包工具,并使用它的约定来定义依赖项和构建时依赖项。pip 有需求文件;分发有 requires_dist 和 setup_requires;buildout 还有其他东西,等等。