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

1.8K
Vistas
¿Cómo reinstalar python@2 desde Homebrew?

He tenido problemas con openssl y python@2 con brew, que se han explicado aquí (sin resolver) . La solución alternativa documentada para reinstalar Python y openssl no funcionaba, así que decidí desinstalar y reinstalar Python.

El problema es que cuando intenta instalar Python 2 con brew, recibe este mensaje:

 brew install python@2 Error: No available formula with the name "python@2" ==> Searching for a previously deleted formula (in the last month)... Warning: homebrew/core is shallow clone. To get complete history run: git -C "$(brew --repo homebrew/core)" fetch --unshallow python@2 was deleted from homebrew/core in commit 028f11f9e: python@2: delete (https://github.com/Homebrew/homebrew-core/issues/49796) EOL 1 January 2020. We gave it 1 month more to live so that people had time to migrate. All in all, developers had 11 years to do their migration. You can use the `brew extract` command and maintain python@2 in your own tap if necessary: https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap To show the formula before removal run: git -C "$(brew --repo homebrew/core)" show 028f11f9e^:Formula/python@2.rb If you still use this formula consider creating your own tap: https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap

Desafortunadamente, todavía tengo varias fórmulas de preparación que dependen de python@2 de Brew. Esos incluyen awscli , letsencrypt , pr sshuttle por ejemplo

 aws zsh: /usr/local/bin/aws: bad interpreter: /usr/local/opt/python@2/bin/python2.7: no such file or directory

No sé cómo usar este comando de brew extract que documentaron para reinstalar Python@2. Necesita una fórmula y un grifo. Imagino que la fórmula sería python@2 . No estoy seguro de cuál debería ser el grifo.

Además, la reinstalación de grifos como aws o letsencrypt tampoco funciona muy bien.

Después de reinstalar awscli ( brew reinstall awscli ), la ejecución de los comandos de aws aún genera errores.

 aws /usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:32: SyntaxWarning: "is" with a literal. Did you mean "=="? if x is 0 or x is 1: /usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:32: SyntaxWarning: "is" with a literal. Did you mean "=="? if x is 0 or x is 1: /usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:34: SyntaxWarning: "is" with a literal. Did you mean "=="? elif y is 0 or y is 1: /usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:34: SyntaxWarning: "is" with a literal. Did you mean "=="? elif y is 0 or y is 1: /usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:260: SyntaxWarning: "is" with a literal. Did you mean "=="? if original_result is 0: usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: the following arguments are required: command
over 4 years ago · Santiago Trujillo
9 Respuestas
Responde la pregunta

0

Parece que el personal de homebrew realmente hace que sea lo más difícil posible usar Python 2.7 en macOS como pueden.

  1. El enlace de brew extract vinculado realmente no es útil, debe buscar respuestas aquí sobre cómo hacer su propio grifo a partir de fuentes extraídas.
  2. La confirmación vinculada: 028f11f9e es incorrecta, ya que contiene el archivo ya eliminado.
  3. El comando brew extract ni siquiera funciona correctamente debido a la @ en el nombre del paquete.

Sin embargo, la solución es muy simple, solo necesita descargar la última confirmación conocida e instalarla desde ese archivo:

 cd ~ wget https://raw.githubusercontent.com/Homebrew/homebrew-core/86a44a0a552c673a05f11018459c9f5faae3becc/Formula/python@2.rb brew install python@2.rb rm python@2.rb

Puede haber una advertencia acerca de que esto es "inestable", lo que no entiendo, ya que una confirmación en un historial de Git es lo más estable posible.

over 4 years ago · Santiago Trujillo Denunciar

0

Verifique el siguiente comando (lo estoy usando en macOS 10.13, es posible que para un macOS más nuevo funcione sin compilación fuente):

 brew install pr0d1r2/python2/python@2.7.17 --build-from-source
over 4 years ago · Santiago Trujillo Denunciar

0

Cómo instalar python@2 desde un toque local

El siguiente método funciona con la versión actual ( c9b8a3ef6 ) de brew :

 $ brew tap-new <user>/homebrew-python2 $ brew extract python@2 <user>/homebrew-python2 $ brew install /usr/local/Homebrew/Library/Taps/<user>/homebrew-python2/Formula/python@2.7.17.rb

El comando brew tap-new crea una nueva plantilla de toque local en /usr/local/Homebrew/Library/Taps/<user>/homebrew-python2 . El nombre del grifo necesita un componente <user> y <repo> separados por / . Los valores reales son arbitrarios. La denominación anterior sigue las convenciones de Cómo crear y mantener un grifo . Si quisiera presionar el botón para acceder a GitHub, usaría su nombre de usuario de GitHub como usuario. No es necesario enviar a GitHub (y no se realizó en las instrucciones anteriores).

Los comandos de extracción de brew extract la versión reciente de la fórmula del historial de repositorios en el toque (local) dado. En nuestro caso, se extrae python@2.7.17.rb .

El comando brew install finalmente instala la fórmula.

¿Por qué es esto necesario?

El método discutido anteriormente (instalar una versión anterior de la fórmula desde una URL de confirmación de GitHub) ya no funciona para python@2 con la versión actual de brew ( c9b8a3ef6 ), produce el siguiente error:

 $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/86a44a0a552c673a05f11018459c9f5faae3becc/Formula/python@2.rb Updating Homebrew... ==> Auto-updated Homebrew! Updated Homebrew from 88f17b8b6 to c9b8a3ef6. ... Error: Calling Installation of python@2 from a GitHub commit URL is disabled! Use 'brew extract python@2' to stable tap on GitHub instead.
over 4 years ago · Santiago Trujillo Denunciar

0

Puede usar pyenv para instalar python con:

 brew install pyenv pyenv install 2.7.18

Opcionalmente, configúrelo a su valor predeterminado global:

 pyenv global 2.7.18

Buen artículo sobre por qué usar pyenv es mejor que usar brew para administrar su instalación de python.

over 4 years ago · Santiago Trujillo Denunciar

0

Para la posteridad, trabajando en macOS 10.15 (mayo/2021):

 /usr/local/bin/brew tap-new ${USER}/homebrew-python2 /usr/local/bin/brew extract python@2 ${USER}/homebrew-python2 /usr/local/bin/brew install /usr/local/Homebrew/Library/Taps/${USER}/homebrew-python2/Formula/python@2.7.17.rb # https://github.com/Homebrew/brew/issues/5734#issuecomment-464705002 /usr/local/bin/brew untap ${USER}/python2
over 4 years ago · Santiago Trujillo Denunciar

0

Usé métodos de esta página para instalar Python 2.7 en Mac durante un año. Pero en mayo de 2021 probé la mayoría de las sugerencias en esta página y todas fallaron.

Tal vez Python 2.7 sea cada vez más difícil de instalar o tal vez mi nuevo macOS Big Sur 11.4 esté causando el problema.

Pude configurar un entorno funcional de Python 2.7 de esta manera al reutilizar el Python 2.7.16 nativo

  • Instalar pip manualmente
  • Configurar un entorno virtual
  • Instalar dependencias con pip en entorno virtual

Aquí están los pasos de instalación:

 wget https://bootstrap.pypa.io/pip/2.7/get-pip.py python get-pip.py pip install virtualenv ~/Library/Python/2.7/bin/pip  install virtualenv virtualenv --python=/usr/bin/python venv source venv/bin/activate
over 4 years ago · Santiago Trujillo Denunciar

0

Ninguna de las respuestas en esta página funcionó para mí 1 en MacOS Monterey. En caso de que esto ayude a alguien, aquí hay una solución alternativa, que técnicamente no se instala directamente a través de Homebrew , solo indirectamente.

Una solución simple para mí, que funciona, es instalar Anaconda a través de Homewbrew y luego crear un entorno virtual para Python 2.7.

Nota: La instalación de Anaconda ocupará algo de espacio en su computadora, más que simplemente instalar Python 2.7 a través de Homebrew o Pyenv:

Anaconda es una distribución de los lenguajes de programación Python y R para computación científica (ciencia de datos, aplicaciones de aprendizaje automático, procesamiento de datos a gran escala, análisis predictivo, etc.), que tiene como objetivo simplificar la administración y la implementación de paquetes. La distribución incluye paquetes de ciencia de datos adecuados para Windows, Linux y macOS. https://en.wikipedia.org/wiki/Anaconda_(Python_distribution)

Básicamente, los pasos son los siguientes, pero es posible que desee consultar una guía de instalación completa para obtener más detalles.

Instale Anaconda desde Homebrew:

 brew install --cask anaconda

Cuando esté instalado, cree un entorno virtual para Python 2.7 en una carpeta de su elección, en este caso para Python 2.7.18:

 conda create --prefix=/MY_FOLDER/NAME_OF_ENVIRONMENT python=2.7.18

Puede enumerar los entornos:

 conda env list

Activar el entorno a través de:

 conda activate NAME_OF_ENVIRONMENT

Ahora puede instalar paquetes, etc., como de costumbre, usando pip install <package> o, alternativamente conda install <package> .

NB: si su instalación de Anaconda es nueva,

  1. Es posible que se le solicite que ejecute conda init una vez antes de poder activar el entorno virtual.

  2. Es posible que deba ejecutar lo siguiente para poder encontrar el entorno virtual (por ejemplo, a través conda list env ) que agregará una línea en ~/.condarc :

    conda config --append envs_dirs /MY_FOLDER/NAME_OF_ENVIRONMENT

  3. Si está molesto por el texto que puede decir "Py base" cada vez que abre la Terminal, haga lo siguiente según esta respuesta , que agregará una línea en ~/.condarc :

    conda config --set auto_activate_base false

  4. Una vez que haya activado el entorno, para acortar la ruta que aparece en la Terminal siempre que esté activo, agregue esta fila a ~/.condarc :

    env_prompt: ({name})


1 No estoy seguro de si se debe a que algo relacionado con las instalaciones de Python no funciona en mi Mac, por lo que es posible que no tenga los mismos problemas. Pero estaba teniendo problemas con todas las soluciones: todo, desde la instalación de virtualenv para la instalación nativa de MacOS Python, no tuvo éxito, error de compilación al intentar instalar 2.7.18 a través de pyenv , el método de brew extract también falló, etc.

over 4 years ago · Santiago Trujillo Denunciar

0

¡¡¡Esto debería funcionar!!!

 wget https://bootstrap.pypa.io/pip/2.7/get-pip.py python get-pip.py pip install virtualenv # This will not work, use below ~/Library/Python/2.7/bin/pip install virtualenv ~/Library/Python/2.7/bin/virtualenv --python=/usr/bin/python venv_twisted source venv_twisted/bin/activate
over 4 years ago · Santiago Trujillo Denunciar

0

Para aquellos que aparecen aquí después de que Apple eliminó el sistema python en macOS 12.3 , aquí se explica cómo instalar y ejecutar python2 y python3.

Pitón 2

python , python2 -> pitón 2.7

 # Download/run the legacy macOS installer (pick which one for your sys) https://www.python.org/downloads/release/python-2716/ # Add pip for python2.7 curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip2.py python2 get-pip2.py # Optionally add the helpers like easy_install back onto your path # In your ~/.zprofile or whatever bash/shell profile equivalent PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" export PATH # Optionally add some helpers while editing shell profile alias pip2="python2 -m pip" alias venv2="virtualenv -p python2" alias venv3="virtualenv -p python3" # Optionally some apple-specific std libraries are missing, search # and download them. Example: plistlib.py curl https://raw.githubusercontent.com/python/cpython/2.7/Lib/plistlib.py -o /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py # Lastly, there is no symlink /usr/bin/python anymore # /usr/bin is system protected so you can't add one either # # Change your programs to use /usr/local/bin/python # or google how to disable SIP to make a symlink in /usr/bin

Pitón 3

python3 -> pitón 3

 brew update brew install python3 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py # Optionally add a helper in ~/.zprofile alias venv3="virtualenv -p python3"

Pruébalo

 ~ % python --version Python 2.7.16 ~ % python2 --version Python 2.7.16 ~ % python3 --version Python 3.9.10 # Running older python2 python2 -m pip install... python2 ... # Testing the venv2 alias from above venv2 foo source foo/bin/activate pip -V # 2.7 pip install -y -r req.txt pip uninstall -y -r req.txt pip freeze deactivate # Testing the venv3 alias from above venv3 foo3 source foo3/bin/activate pip -V # 3.9 pip install -y -r req.txt pip uninstall -y -r req.txt pip freeze deactivate

Solución de problemas a través de la desinstalación/reinstalación

 # Credit to https://www.macupdate.com/app/mac/5880/python/uninstall # for many of the tips in this section. # Sometimes there are problems related to accepting xcode # tool agreement. Open XCode to make sure it finished # installing its tool updates. # Remove old python Application installs # open the apps dir and delete Python 2, 3 via Finder open /Applications # Remove old brew installs brew list | grep python brew uninstall python brew uninstall python3 # find/remove lingering unlinked kegs ls /usr/local/Cellar/ | grep python # Cleanup binaries sudo rm -rf /Library/Frameworks/Pyth* rm /usr/local/bin/pip* # Cleanup symlinks which -a python # check results, and rm each one which -a python2 # check results, and rm each one which -a python3 # check results, and rm each one brew cleanup # prunes symlinks
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