Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

708
Vistas
Python Pip roto con sys.stderr.write(f"ERROR: {exc}")

En una máquina virtual nueva de Vagrant usando box bento/centos-7, los siguientes comandos corrompen mi instalación de pip:

 yum update yum install epel-release -y yum install python-pip -y /usr/bin/pip2 install --upgrade pip setuptools pyOpenSSL psycopg2-binary lxml

Esto falla al final con

 Downloading https://files.pythonhosted.org/packages/84/48/5c99d8770fd0a9eb0f82654c3294aad6d0ba9f8600638c2e2ad74f2c5d52/setuptools-52.0.0.tar.gz (2.1MB) 100% |████████████████████████████████| 2.1MB 821kB/s Complete output from command python setup.py egg_info: Traceback (most recent call last): File "<string>", line 1, in <module> File "setuptools/__init__.py", line 16, in <module> import setuptools.version File "setuptools/version.py", line 1, in <module> import pkg_resources File "pkg_resources/__init__.py", line 1367 raise SyntaxError(e) from e ^ SyntaxError: invalid syntax ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-GZrC3W/setuptools/ You are using pip version 8.1.2, however version 21.0 is available. You should consider upgrading via the 'pip install --upgrade pip' command.

Si luego actualizo Pip, noto que mi Python está roto. Después de eso, todos los comandos pip terminan con SyntaxError

 [root@bkd-openam ~]# pip install --upgrade pip Collecting pip Using cached https://files.pythonhosted.org/packages/9e/24/bc928987f35dd0167f21b13a1777c21b9c5917c9894cff93f1c1a6cb8f3b/pip-21.0.tar.gz Installing collected packages: pip Found existing installation: pip 8.1.2 Uninstalling pip-8.1.2: Successfully uninstalled pip-8.1.2 Running setup.py install for pip ... done Successfully installed pip-21.0 [root@bkd-openam ~]# /usr/bin/pip2 install --upgrade pip setuptools pyOpenSSL psycopg2-binary lxml Traceback (most recent call last): File "/usr/bin/pip2", line 9, in <module> load_entry_point('pip==21.0', 'console_scripts', 'pip2')() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point return ep.load() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load entry = __import__(self.module_name, globals(),globals(), ['__name__']) File "/usr/lib/python2.7/site-packages/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}") ^ SyntaxError: invalid syntax

¿Por qué es esto? ¿Es este un problema conocido con Python? ¿Cómo puedo solucionar esto?

Por cierto, CentOS 7 es un hecho, no podemos actualizar a CentOS 8 en este momento. Además, estamos usando Ansible, por lo que creo que la comunidad de Ansible no recomienda el uso de virtualenv para los nodos de destino.

Por supuesto, podemos instalar Python 3 en los nodos de destino, pero no todo el código de Ansible está disponible para combinar Python 3 con CentOS 7.

¿Podemos usar Pip 20? Nos gustaría actualizar a la versión más reciente de Pip que aún funciona y creo que es Pip 20. ¿Cómo evito la actualización a Pip 21?

over 4 years ago · Santiago Trujillo
12 Respuestas
Responde la pregunta

0

Este problema tiene que ver con el hecho de que Python 2.7 llegó al final de su vida útil y que la comunidad PIP dejó de brindarle soporte este mes.

PIP muestra avisos de obsolescencia como

DESAPROBACIÓN: Python 2.7 llegó al final de su vida útil el 1 de enero de 2020. Actualice su Python, ya que Python 2.7 ya no se mantiene. pip 21.0 dejará de ser compatible con Python 2.7 en enero de 2021. Puede encontrar más detalles sobre la compatibilidad con Python 2 en pip en https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 eliminará la compatibilidad con esta funcionalidad.

Para solucionar esto y continuar con Python 2.7 no compatible, no debe actualizar a la última versión de pip sino a una versión < 21.

 pip install --upgrade "pip < 21.0"
over 4 years ago · Santiago Trujillo Denunciar

0

Puede obtener una versión anterior (2.7) de get-pip.py

 curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py

En mi opinión, debe crear un virtualenv de python2 e instalar su paquete python2 en él, así como pip2. Por ejemplo, cuando instalé cuckoo sandbox, lo hice así:

 virtualenv --python=python2 cuckoo/ # make your virtualenv folder with python2 cd cuckoo source bin/activate curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py # get pip for python2 python2 get-pip.py # install pip in your virtualenv pip install cuckoo # install your python2 package

Espero que ayude

over 4 years ago · Santiago Trujillo Denunciar

0

Su problema de conflicto de versión. primero verifique python --version, a continuación los pasos para la versión 2.7 de python

  1. curl https://bootstrap.pypa.io/2.7/get-pip.py -o get-pip.py
  2. python get-pip.py
  3. instalar entorno virtual: python -m pip install --user virtualenv
  4. crear venv: python -m virtualenv env
  5. activar venv: origen env/bin/activar
over 4 years ago · Santiago Trujillo Denunciar

0

estos comandos me resolvieron en ubuntu 20.04 LTS:

 $ sudo apt update $ sudo apt upgrade $ sudo add-apt-repository universe $ sudo apt install python2 $ curl https://bootstrap.pypa.io/2.7/get-pip.py | sudo python $$ pip --version

resumido de https://linuxhint.com/install_python_pip_tool_ubuntu/ y https://unix.stackexchange.com/a/631283 editando el quinto comando

over 4 years ago · Santiago Trujillo Denunciar

0

quite el pip y vuelva a instalarlo, en ubantu16.04

 sudo apt-get remove --purge python-pip sudo apt-get autoremove rm -r /home/xxx/.local/bin/pip rm -r /usr/local/bin/pip sudo apt update curl https://bootstrap.pypa.io/2.7/get-pip.py | sudo python sudo ln /usr/local/bin/pip /home/xxx/.local/bin/pip
over 4 years ago · Santiago Trujillo Denunciar

0

Como PIP eliminó el soporte para Python 2.7, como resultado, enfrentamos el problema mencionado anteriormente, a continuación se encuentran los comandos que realmente me funcionaron en Ubuntu.

 sudo apt-get remove --purge python-pip sudo apt-get autoremove sudo rm -f /usr/local/bin/pip sudo easy_install pip==20.3.4 pip --version

Salida: pip 20.3.4

Se puede lograr lo mismo para CentOS cambiando el nombre del administrador de paquetes.

over 4 years ago · Santiago Trujillo Denunciar

0

Si esta lógica se usa en una (por ejemplo) matriz de acciones de Github de diferentes versiones de Python, el siguiente fragmento de bash determinará si pip debe actualizarse antes de pip 21.0 o no. Por ejemplo, Python 3.5 no debería actualizarse más allá de pip 21.0, pero Python 3.6 puede usar versiones más recientes.

 use_pip_lt_21=`python -c "import sys; print(sys.version_info[:2] < (3, 6))"` if [ $use_pip_lt_21 = "True" ]; then pip="pip < 21.0" else pip="pip" fi pip install --disable-pip-version-check --upgrade "$pip"
over 4 years ago · Santiago Trujillo Denunciar

0

Esto me ayudó (Ubuntu 16.04)

En general, eliminé completamente pip y pip3 como:

 whereis pip sudo rm -f <results from whereis pip whereis pip3 sudo rm -f <results from whereis pip3

Busque pip y elimine archivos y directorios. En mi caso fue:

 sudo rm -fr ~/.local/bin/pip3.5 sudo rm -fr ~/.local/bin/pip3 sudo rm -fr ~/.local/lib/python3.5/site-packages/pip* sudo rm -rf ~/.cache/pip/ sudo rm -rf /usr/lib/python2.7/dist-packages/pip* sudo rm -rf /usr/lib/python3/dist-packages/pip*

Luego instalé pip3 una vez más:

Pitón 3.5

 wget https://bootstrap.pypa.io/pip/3.5/get-pip.py

Pitón 3.6

 wget https://bootstrap.pypa.io/get-pip.py
 python3 get-pip.py --ignore-installed
over 4 years ago · Santiago Trujillo Denunciar

0

Ambiente

Ubuntu 16.04 LTS de 32 bits.

 Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-209-generic i686)

Pitón 3.5

Estaba recibiendo el error al ejecutar estos comandos:

 $ sudo python3 -m venv /opt/certbot/ $ sudo /opt/certbot/bin/pip install --upgrade pip $ sudo /opt/certbot/bin/pip install certbot

Rastreo (última llamada más reciente): Archivo "/opt/certbot/bin/pip", línea 7, desde pip._internal.cli.main importar archivo principal "/opt/certbot/lib/python3.5/site-packages /pip/_internal/cli/main.py", línea 58 sys.stderr.write(f"ERROR: {exc}") ^ SyntaxError: sintaxis no válida

El python3 es solo un enlace simbólico a python3.5 :

 /usr/bin/python3 -> python3.5

Pitón 3.9

Se arroja otro error:

 $ sudo python3.9 -m venv /opt/certbot/

Error: el comando '['/opt/certbot/bin/python3.9', '-Im', 'ensurepip', '--upgrade', '--default-pip']' devolvió el estado de salida 1 distinto de cero.

Solución: Python 3.6

Estos comandos resolvieron el problema para mí:

 $ sudo python3.6 -m venv /opt/certbot/ $ sudo /opt/certbot/bin/pip install --upgrade pip $ sudo /opt/certbot/bin/pip install certbot
over 4 years ago · Santiago Trujillo Denunciar

0

Actualización: use el siguiente comando para instalar el pip en python2.7

 curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py python get-pip.py

¡Disfrútala!

over 4 years ago · Santiago Trujillo Denunciar

0

Cuando intentó actualizar pip, se actualizó a la versión 21 y como está escrito en el enlace: Python2-support

pip 20.3 fue la última versión de pip compatible con Python 2. Los errores informados con pip que solo ocurren en Python 2.7 probablemente serán cerrados como problemas "no solucionados" por los mantenedores de pip.

Entonces, ahora primero debe eliminar el pip actual instalado, lo que puede hacer desde Centos 7:

 yum remove python2-pip

Ahora instalaremos pip nuevamente

 yum install python2-pip -y

Ahora actualizaremos pip a la versión compatible

 pip install --upgrade pip==20.3.4

Ahora el comando pip funcionará bien

 pip -V
over 4 years ago · Santiago Trujillo Denunciar

0

Estoy informando mi solución porque funcionó para mí en MacOS (no en Linux, para lo que eran estas otras soluciones). Con suerte, esto ayudará a alguien en caso de que tenga un problema similar en Mac. Estoy ejecutando MacOS 11.4. PIP se rompió en mi sistema de alguna manera. Se supone que mi sistema global usa Python3, pero recibí el mensaje de error:

 Traceback (most recent call last): File "/usr/local/bin/pip", line 11, in <module> load_entry_point('pip==21.0.1', 'console_scripts', 'pip')() File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 489, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2843, in load_entry_point return ep.load() File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2434, in load return self.resolve() File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2440, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/Library/Python/2.7/site-packages/pip-21.0.1-py2.7.egg/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}") ^ SyntaxError: invalid syntax

Mi solución estaba ejecutando esto:

 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py

Ahora PIP está funcionando nuevamente en mi sistema.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda