我正在编写一个setup.py
脚本,并希望指定对MySQL包的依赖:
requires=['requests', 'mock', 'GitPython', 'MySQL-python']
但是MySQL-python
看起来对于安装工具来说是非法的,因为它认为在-
之后应该有一个版本并且它会抛出此错误:
ValueError:预期的括号列表:' - python'
我可以在这做什么?
环境:Python 2.7.3;精确32
答案 0 :(得分:1)
要指定需要任何版本的模块或包,请执行以下操作: string应完全由模块或包名组成。例子 包括'mymodule'和'xml.parsers.expat'。
考虑到这一点,你应该能够检查MySQL-python的_mysql
模块:
requires=['requests', 'mock', 'GitPython', '_mysql']
答案 1 :(得分:0)
在这一点上,您不应该遵循distutils文档。 requires
来自定义分发元数据的PEP,但它实际上不适用于任何工具,包括distutils。目前,您需要选择一个不在标准库中的打包工具,并使用其约定来定义依赖关系和构建时依赖关系。 pip有需求文件;分发有requires_dist和setup_requires; buildout还有别的东西等等。