由于Google在其apiclient模块中使用了命名约定,我得到以下错误:
$ sudo ./setup.py install
Traceback (most recent call last):
File "./setup.py", line 37, in <module>
scripts = [ 'bin/gsync' ],
File "/usr/lib/python2.7/distutils/core.py", line 112, in setup
_setup_distribution = dist = klass(attrs)
File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 225, in __init__
_Distribution.__init__(self,attrs)
File "/usr/lib/python2.7/distutils/dist.py", line 259, in __init__
getattr(self.metadata, "set_" + key)(val)
File "/usr/lib/python2.7/distutils/dist.py", line 1220, in set_requires
distutils.versionpredicate.VersionPredicate(v)
File "/usr/lib/python2.7/distutils/versionpredicate.py", line 113, in __init__
raise ValueError("expected parenthesized list: %r" % paren)
ValueError: expected parenthesized list: '-api-python-client'
如何指示setuptools,该库不应该被视为版本谓词,而应该忽略连字符,并将所有内容都作为库名包含?
我才知道怎么回事。如果使用
requires = []
,则使用distutils style setup()函数中的版本谓词。但是,如果您使用install_requires = []
并对列表项做一些细微的更改(对于版本谓词,使用空格而不是方括号),则可以正常工作。在相关问题 更多 >
编程相关推荐