2016-10-03 21 views
15

我通过pip install上特拉维斯安装多个Python包,密码Asse田:对不起,这个版本只支持100个命名组

language: python 
python: 
- '2.7' 
install: 
- pip install -r requirements/env.txt 

一切工作正常,但今天我开始以下错误:

Running setup.py install for cryptography 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
    File "/tmp/pip-build-hKwMR3/cryptography/setup.py", line 334, in <module> 
    **keywords_with_side_effects(sys.argv) 
    File "/opt/python/2.7.9/lib/python2.7/distutils/core.py", line 111, in setup 
    _setup_distribution = dist = klass(attrs) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/setuptools/dist.py", line 269, in __init__ 
    _Distribution.__init__(self,attrs) 
    File "/opt/python/2.7.9/lib/python2.7/distutils/dist.py", line 287, in __init__ 
    self.finalize_options() 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/setuptools/dist.py", line 325, in finalize_options 
    ep.load()(self, ep.name, value) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/cffi/setuptools_ext.py", line 181, in cffi_modules 
    add_cffi_module(dist, cffi_module) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/cffi/setuptools_ext.py", line 48, in add_cffi_module 
    execfile(build_file_name, mod_vars) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/cffi/setuptools_ext.py", line 24, in execfile 
    exec(code, glob, glob) 
    File "src/_cffi_src/build_openssl.py", line 81, in <module> 
    extra_link_args=extra_link_args(compiler_type()), 
    File "/tmp/pip-build-hKwMR3/cryptography/src/_cffi_src/utils.py", line 61, in build_ffi_for_binding 
    extra_link_args=extra_link_args, 
    File "/tmp/pip-build-hKwMR3/cryptography/src/_cffi_src/utils.py", line 70, in build_ffi 
    ffi.cdef(cdef_source) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/cffi/api.py", line 105, in cdef 
    self._cdef(csource, override=override, packed=packed) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/cffi/api.py", line 119, in _cdef 
    self._parser.parse(csource, override=override, **options) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/cffi/cparser.py", line 299, in parse 
    self._internal_parse(csource) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/cffi/cparser.py", line 304, in _internal_parse 
    ast, macros, csource = self._parse(csource) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/cffi/cparser.py", line 260, in _parse 
    ast = _get_parser().parse(csource) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/cffi/cparser.py", line 40, in _get_parser 
    _parser_cache = pycparser.CParser() 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/pycparser/c_parser.py", line 87, in __init__ 
    outputdir=taboutputdir) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/pycparser/c_lexer.py", line 66, in build 
    self.lexer = lex.lex(object=self, **kwargs) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/pycparser/ply/lex.py", line 911, in lex 
    lexobj.readtab(lextab, ldict) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/pycparser/ply/lex.py", line 233, in readtab 
    titem.append((re.compile(pat, lextab._lexreflags | re.VERBOSE), _names_to_funcs(func_name, fdict))) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/re.py", line 194, in compile 
    return _compile(pattern, flags) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/re.py", line 249, in _compile 
    p = sre_compile.compile(pattern, flags) 
    File "/home/travis/virtualenv/python2.7.9/lib/python2.7/sre_compile.py", line 583, in compile 
    "sorry, but this version only supports 100 named groups" 
AssertionError: sorry, but this version only supports 100 named groups 

解决方案?

+0

一些包依赖于密码,很明显。不要以为我的100行文件会有帮助!回答你的问题 - 是 – glmvrml

+0

貌似新版本['cryptography'(https://pypi.python.org/pypi/cryptography)出来一个星期前,你可能要报告bug他们?现在插入旧版本,看看问题是否消失。 – metatoaster

+0

哦,嘿嘿,有人打你给它https://github.com/pyca/cryptography/issues/3187 – metatoaster

回答

25

没有与PyCParser错误 - 见https://github.com/pyca/cryptography/issues/3187

解决方法是使用另一个版本或不使用二进制分发版。

pip install git+https://github.com/eliben/[email protected]_v2.14 

pip install --no-binary pycparser 
+0

'pip install git + https:// github.com/eliben/pycparser @ release_v2.14'这样做了。看起来像特拉维斯的点子已经过时,所以我无法使用'--no-binary' – glmvrml

+0

对于--no-binary选项的工作,你需要在最新点子上。尝试升级你的点子版本。 – Rusty1

+0

正如在问题中提到的,它可能是聪明的跳过版本2.14和使用2.13 'pip install pycparser == 2.13' – Sylvain