Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

313
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!