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

309
Vistas
virtualenv en macOS usa un intérprete de python inexistente

Cuando ejecuto virtualenv , obtengo esto:

 $ virtualenv -bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory

virtualenv solo comenzó a comportarse de esta manera hoy. Funcionó ayer. Se rompe porque virtualenv es un script de Python que usa un intérprete de Python inexistente:

 $ head -1 $(which virtualenv) #!/usr/local/opt/python/bin/python2.7

En mi máquina, /usr/local/opt/python es un enlace simbólico a un directorio de Python 3.6:

 $ ls -l /usr/local/opt/python lrwxr-xr-x 1 jim admin 24 2 Mar 13:45 /usr/local/opt/python -> ../Cellar/python/3.6.4_3

Como era de esperar, el directorio de Python 3.6 no contiene bin/python2.7 :

 $ ls /usr/local/Cellar/python/3.6.4_3/bin/ 2to3 idle pip3 pydoc3.6 python3-config python3.6m-config wheel3 2to3-3.6 idle3 pip3.6 python python3.6 pyvenv easy_install idle3.6 pydoc python-config python3.6-config pyvenv-3.6 easy_install-3.6 pip pydoc3 python3 python3.6m wheel

virtualenv claramente espera que /usr/local/opt/python contenga material de Python 2, pero solo contiene material de Python 3.

Homebrew administra mi /usr/local/opt/python . No sé la procedencia de mi virtualenv . ¿Cómo averiguo de dónde vino mi /usr/local/bin/virtualenv ?

¿Cuál tiene la culpa? ¿Mi virtualenv o Homebrew?

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

0

La culpa de esto recae en pip , no en Homebrew. Mi /usr/local/bin/virtualenv proviene de pip install virtualenv , que incorpora un enlace absoluto al intérprete de Python en el momento de la instalación. He abierto un tema sobre este comportamiento unidiomático .

over 4 years ago · Santiago Trujillo Denunciar

0

Mismo problema en mi Mac. ¿Quizás se rompió cuando actualicé a Mojave? Quién sabe.

Resuelto con una instalación de brew de Python 2:

 brew install python2

Esto ahora se hace cargo de mi Python 2.7 instalado de fábrica y me da un nuevo virtualenv que funciona:

 $ which virtualenv /usr/local/bin/virtualenv
over 4 years ago · Santiago Trujillo Denunciar

0

En primer lugar, lo siento por agregar un comentario separado aquí: carezco de la reputación para agregar un comentario a la respuesta de @jameshfisher.

Usé homebrew para actualizar python2 en macos a la última versión:

 ~ ❯❯❯ python2 --version Python 2.7.15

Lo que crea/actualiza el enlace simbólico de python2 en /usr/local/bin para vincular a esa actualización instalada de brew en particular:

 ~ ❯❯❯ ls -ahl =python2 lrwxr-xr-x 1 michael admin 39B 3 Jul 17:11 /usr/local/bin/python2 -> ../Cellar/python@2/2.7.15_1/bin/python2

El shebang en mi /usr/local/bin/virtualenv fue:

 ~ ❯❯❯ head -1 $(which virtualenv) #!/usr/local/opt/python/bin/python2.7

que no existió:

 ~ ❯❯❯ ls -l /usr/local/opt/python/bin/python2.7 ls: /usr/local/opt/python/bin/python2.7: No such file or directory

Entonces, modificar el shebang a #!/usr/local/bin/python2 para usar la versión actualizada de python2 instalada en brew fue la forma más apropiada de hacerlo:

 ~ ❯❯❯ virtualenv --version 15.1.0

✨🐟✨

Un poco como una cortina de humo para mí fue que había asumido erróneamente que escribir which python me daría la ruta a mi versión de python2 :

 ~ ❯❯❯ which python /Users/michael/.pyenv/shims/python ~ ❯❯❯ which python2 /usr/local/bin/python2 ~ ❯❯❯ which python3 /Users/michael/.pyenv/shims/python3 ~ ❯❯❯ /Users/michael/.pyenv/shims/python --version Python 3.7.0

Había olvidado que había configurado pyenv global en python 3.7.0 . ¡Por favor, no caigas en esa trampa como lo hice yo! ✨😄✨

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