2016-10-03 19 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