No sé cuál es el problema, pero estoy atascado siguiendo algunas soluciones de stackoverflow que no llevan a ninguna parte. ¿Puedes por favor ayudarme en esto?
Monas-MacBook-Pro:CS764 mona$ sudo python get-pip.py
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
/tmp/tmpbSjX8k/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Collecting pip
Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB)
100% |████████████████████████████████| 1.1MB 181kB/s
Installing collected packages: pip
Found existing installation: pip 1.4.1
Uninstalling pip-1.4.1:
Successfully uninstalled pip-1.4.1
Successfully installed pip-7.1.0
Monas-MacBook-Pro:CS764 mona$ pip --version
-bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
python
macos
installation
pip
osx-mavericks
Mona Jalal
fuente
fuente
pip3 install --upgrade pip
que señaló @Excalibur en un comentario más abajo.Supongo que tiene dos instalaciones de Python o dos instalaciones de pip, una de las cuales se ha eliminado parcialmente.
¿Por qué lo usa
sudo
? Idealmente, debería poder instalar y ejecutar todo desde su cuenta de usuario en lugar de usar root. Si mezcla root y su cuenta local, es más probable que se encuentre con problemas de permisos (por ejemplo, vea la advertencia que da sobre "el directorio principal no es propiedad del usuario actual").¿Qué obtienes si ejecutas esto?
Esto le mostrará qué binario de Python
pip
está intentando usar. Si está apuntando/usr/local/opt/python/bin/python2.7
, intente ejecutar esto:$ ls -al /usr/local/opt/python/bin/python2.7
Si dice "No existe ese archivo o directorio", entonces pip está intentando usar un binario de Python que ha sido eliminado.
A continuación, intente esto:
$ which python $ which python2.7
Para ver la ruta del binario de Python que realmente funciona.
Dado que parece que pip se instaló correctamente en algún lugar, podría ser que
/usr/local/bin/pip
sea parte de una instalación anterior de pip que está más arriba en elPATH
. Para probar eso, puede intentar quitar elpip
binario que no funciona de esta manera (podría requerirsudo
):Luego intente ejecutar su
pip --version
comando nuevamente. Con suerte, recupera la versión correcta y se ejecuta correctamente.fuente
sudo /usr/bin/easy_install pip
- Lo encontré aquí: stackoverflow.com/questions/27308234/…Única solución en OSX y su variante.
ln -s /usr/local/bin/python /usr/local/opt/python/bin/python2.7
fuente
Pip de fijación
Para este error:
~/Library/Python/2.7/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
La fuente de este problema es una ruta de Python incorrecta codificada en pip (lo que significa que no se solucionará, por ejemplo, cambiando su $ PATH). Esa ruta ya no está codificada en la última versión de pip, por lo que una solución que debería funcionar es:
Pero, por supuesto, este comando usa pip, por lo que falla con el mismo error.
La forma de salir de este lío:
which pip
#!/usr/local/opt/python/bin/python2.7
a, por ejemplo#!/usr/local/opt/python2/bin/python2.7
(observe python2 en la ruta), o cualquier ruta a un intérprete de Python que funcione en su máquina.pip install --upgrade pip
(esto sobrescribe su truco y hace que pip funcione en la última versión, donde el problema del intérprete debería solucionarse)Reparando virtualenv
Para mí, encontré este problema al tener primero el mismo problema de virtualenv:
~/Library/Python/2.7/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
La solución aquí es ejecutar
Si ejecutar ese comando da el mismo error de pip, vea arriba.
fuente
pip3 install --upgrade pip
)Cometí el mismo error al usar sudo para mi instalación. (oops)
Esto hizo que todo volviera a la normalidad.
fuente
Debido a que tenía Python 2 y 3 instalados en Mac OSX, estaba teniendo todo tipo de errores.
Usé cuál para encontrar la ubicación de mi archivo python2.7 (/usr/local/bin/python2.7)
which python2.7
Luego conecté simbólicamente mi ubicación de instalación real de python2.7 con la que esperaba el script:
ln -s /usr/local/bin/python2.7 /usr/local/opt/python/bin/python2.7
fuente
Tuve un problema similar. Básicamente, pip estaba buscando en una ruta incorrecta (ruta de instalación anterior) o python. La siguiente solución funcionó para mí:
which python
)/usr/local/bin/pip2.7
y/usr/local/bin/pip
). La línea debe indicar la ruta correcta a la ruta de Python. En mi caso, no lo hice. Lo corrigí y ahora funciona bien.fuente
En caso de que ayude a alguien, la solución mencionada en esta otra pregunta funcionó para mí cuando pip dejó de funcionar hoy después de actualizarlo: Pip roto después de actualizar
Parece que es un problema cuando cambia una ubicación previamente almacenada en caché, por lo que puede actualizar la caché con este comando:
fuente
Para simplificar la operación, podemos usar el siguiente comando para reinstalar la versión 2:
brew install python@2
Luego, en mi mac, se ve a continuación:
▶ python -V Python 2.7.10 ▶ python2 -V Python 2.7.14 ▶ python3 -V Python 3.6.5 ▶ pip2 -V pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7) ▶ pip3 -V pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6) ▶ pip --version pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7)
fuente
reinstall
comando enbrew
:brew reinstall python@2
Tuve el mismo problema. Tengo Python 2.7 y 3.6 instalados. Python 2.7
virtualenv
funcionaba, pero después de instalar Python3, virtualenv siguió buscando la versión 2.7 y no pudo encontrarla. Haciendopip install virtualenv
instalado la versión Python3 de virtualenv.Luego, para cada comando, si quiero usar Python2, usaría
virtualenv --python=python2.7 somecommand
fuente
Tuve el mismo problema, virtualenv apuntaba a una antigua ruta de Python. Arreglar la ruta resolvió el problema:
$ virtualenv -p python2.7 env -bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory $ which python2.7 /opt/local/bin/python2.7 # needed to change to correct python path $ head /usr/local/bin/virtualenv #!/usr/local/opt/python/bin/python2.7 <<<< REMOVED THIS LINE #!/opt/local/bin/python2.7 <<<<< REPLACED WITH CORRECT PATH # now it works: $ virtualenv -p python2.7 env Running virtualenv with interpreter /opt/local/bin/python2.7 New python executable in env/bin/python Installing setuptools, pip...done.
fuente
Tengo el mismo problema. Si corro
brew link --overwrite python2
. Aún quedabazsh: /usr/local/bin//fab: bad interpreter: /usr/local/opt/python/bin/python2.7: no such file or directory
.¡Resuelto! Ahora podemos usar el tejido de la versión python2.
=== 2018/07/25 actualizado
Hay una forma conveniente de usar la versión de python2 fab cuando su sistema operativo python está vinculado a python3.
.sh
por tu mando.# fab python2 cd /usr/local/opt rm python ln -s python2 python # use the fab cli ... # link to python3 cd /usr/local/opt rm python ln -s python3 python
Espero que esto ayude.
fuente
Editar la primera línea de este archivo funcionó para mí:
MBP-de-Jose:~ josejunior$ which python3
/usr/local/Cellar/python/3.7.3/bin/python3
MBP-de-Jose:~ josejunior$
antes de
#!/usr/local/opt/python/bin/python3.7
después
#!/usr/local/Cellar/python/3.7.3/bin/python3
fuente
Todo lo que necesita hacer es ... cerrar la ventana de la terminal y volver a abrir una nueva para solucionar este problema.
El problema es que no se agrega una nueva ruta de Python a bashrc (ya sea la fuente o la nueva ventana de terminal ayudaría).
fuente
En mi caso, decidí eliminar la instalación de Python Homebrew de mi Mac, ya que ya tenía otras dos versiones de Python instaladas en mi Mac a través de MacPorts. Esto provocó el mensaje de error.
Reinstalar Python a través de brew resolvió mi problema.
fuente
este comando funcionó para mí
fuente
Para mí, en centOS 7 tuve que eliminar el enlace pip antiguo de / bin por
luego vuelve a vincularlo con
sudo ln -s /usr/local/bin/pip2.7 /bin/pip2.7
Entonces sí
/usr/local/bin/pip2.7
Funciona, esto debería funcionar
fuente
Podría tener dos versiones diferentes de Python y pip.
Intentar:
pip2 install --upgrade pip
y entoncespip2 install -r requirements.txt
O
pip3
si tiene una versión más reciente de Python.fuente
TLDR:
pip
encontrado en su ruta a es un enlace simbólico y la ubicación referenciada ya no contiene el ejecutable. Necesita actualizar el enlace simbólico.Ayuda a comprender un par de cosas.
python
opip
, el sistema operativo buscará/etc/paths
para intentar encontrar el ejecutable asociado para ese comando. Puedes ver todo lo que hay allí usandocat /etc/paths
.which
, puede escribirwhich python
owhich pip
. Esto le dirá la ubicación del ejecutable que su shell usará para ese comando./etc/paths
que contenga/usr/local/bin
, también es común/usr/local/bin
que haya un montón de enlaces simbólicos a los ejecutables reales. No los propios ejecutables.bad interpreter: No such file or directory
Dicho esto, es probable que el problema sea
pip
un enlace simbólico y el ejecutable vinculado probablemente ya no exista en esa ubicación. Para solucionarlo, haga lo siguientewhich pip
(da algo como esto/usr/local/bin/pip
)ls -l /usr/local/bin/pip | grep pip
(proporcione algo como estopip -> /usr/local/opt/[email protected]/bin/pip3
)ls /usr/local/opt/[email protected]/bin/pip3
(tiene este problema, por lo que probablemente no sea así).rm -r /usr/local/bin/pip
pip
ejecutable real, sihomebrew
lo va a usar/usr/local/opt
, puede usar algo comols /usr/local/opt/ | grep python
para encontrarlo.ln -s /usr/local/opt/[email protected]/bin/pip3 /usr/local/bin/pip
fuente