error de configuración pycon pycparser

Estoy viendo el siguiente error al configurar pyparser en CentOS 7 a través de pip

/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-PMzCYU/pycparser/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-0bpBrX-record/install-record.txt --single-version-externally-managed --compile Traceback (most recent call last): File "", line 1, in init.py", line 12, in import setuptools.version File "/usr/lib/python2.7/site-packages/setuptools/version.py", line 1, in import pkg_resources File "/usr/lib/python2.7/site-packages/pkg_resources/ init .py", line 72, in import packaging.requirements File "/usr/lib/python2.7/site-packages/packaging/requirements.py", line 59, in MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") TypeError: call () takes exactly 2 arguments (1 given) 

/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-PMzCYU/pycparser/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-0bpBrX-record/install-record.txt --single-version-externally-managed --compile Traceback (most recent call last): File "", line 1, in init.py", line 12, in import setuptools.version File "/usr/lib/python2.7/site-packages/setuptools/version.py", line 1, in import pkg_resources File "/usr/lib/python2.7/site-packages/pkg_resources/ init .py", line 72, in import packaging.requirements File "/usr/lib/python2.7/site-packages/packaging/requirements.py", line 59, in MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") TypeError: call () takes exactly 2 arguments (1 given)

Esto parece ser causado por https://github.com/pypa/setuptools/commit/ff371f18f0076bc63da05334f7e551c1cc29e10d que se lanzó en v34.0.0 de setuptools. Este compromiso eliminó la venta de varios paquetes. También parece que esto solo afecta a las nuevas instalaciones de setuptools. Los existentes están bien en 34.0.2

Trabajar a través de la encoding de la versión:

pip install setuptools==33.1.1

Todavía estoy trabajando en cómo arreglar el uso de pip una vez que se instala> = 34.0.0,

EDITAR: esto es así por diseño “Setuptools ya no admite la actualización automática o la instalación en el caso general”. http://setuptools.readthedocs.io/en/latest/history.html#v34-0-0

Nota: Ejecutar Python 2.7.10 en Macbook Yosmite, intentando instalar TensorFlow, usando pip. Cualquier bash de instalar o actualizar “numpy”, para resolver el problema de dependencia de Tensorflow en la versión ‘numpy’, genera el siguiente error:

 TypeError: __call__() takes exactly 2 arguments (1 given) 

Había instalado, a través de pip, el último Tensorflow, que cargaba muchos paquetes. Esto rompió pip Todos los bashs de ejecutar pip generaron los mismos errores que la publicación anterior, con la línea final siendo:

 TypeError: __call__() takes exactly 2 arguments (1 given) 

incluyendo la pip install setuptools==33.1.1 sugerencia proporcionada anteriormente. La instalación de TensorFlow hizo funcionar mi versión pip, el código mal pyparser, parece. Recuerda, estoy ejecutando Python 2.7.x ..

La resolución sugerida para pip install setuptool==33.1.1 genera la misma secuencia de errores, ya que el analizador de Python 2.7 se rompió. pip y también easy_install se rompieron. Ni siquiera pude actualizar pip usando get-pip.py . La ejecución de python get-pip.py genera esencialmente la misma secuencia de error que se muestra arriba. NFG realmente máximo.

[Por lo tanto, la solución …] Encontró la solución juntando otras publicaciones: el “requisitos.py” (¿un pyparser prgm?) Tiene un error, que puede solucionarse encontrando el código y editando el archivo. En mi Macbook, el archivo está en: /Library/Python/2.7/site-packages/packaging

Encuentre el progtwig de progtwigción de python llamado: Requirements.py. Cambie la línea 59:

 MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker") 

A:

 MARKER_EXPR = originalTextFor(MARKER_EXPR(""))("marker") 

He confirmado que este cambio permite que pip y easy_install ejecutarse. Además, en Linux, también se podría provocar el error simplemente ejecutando, en Python:

  from pkg_resources import load_entry_point 

Confirmó que esto ahora funciona en Python 2.7.10 en Mac OS 10.10.5, después de la corrección de Requirements.py.

La misma solución funcionó para mí.

pip install setuptools==33.1.1 y luego sudo pip install -r requirements.txt pip install setuptools==33.1.1