Cuando corro:
sudo pip install ipython
Obtuve el siguiente error
OSError: [Errno: 1] Operación no permitida: '/System/Library/Frameworks/Python.framework/Versions/2.7/share'
El último comando ejecutado intenta crear el directorio dado anteriormente.
Además, el siguiente comando no puede instalar iPython sin proporcionar ningún error.
sudo pip install --user python
(Estoy en Mac OS X El Capitan en caso de que otras personas en este sistema operativo vean el mismo problema).
pip
ipython
failed-installation
osx-elcapitan
Milad M
fuente
fuente
$PATH
para que pueda llamar a los ejecutables para los paquetes de usuario instalados. stackoverflow.com/a/47102398/117471sudo
con--user
. Lo que--user
hace es instalar en~/Library
lugar de/Library
no tener que usarsudo
para instalar allí. Pero una vez que instala consudo
, los directorios y archivos son propiedad de todosroot
. Entonces tienes que usarsudo
para hacerles cualquier otra cosa. Lo que a su vez requerirá que lo usessudo
para otras cosas para las que no deberías usarlo. Entonces, incluso un error honesto puede pasar de arrojar un error a destruir datos.Respuestas:
Las instrucciones que dicen
sudo pip install
son inherentemente incorrectas.Si hay algún tutorial que diga que debe hacer
sudo pip
, presente un error en este paquete. El autor está deseducando a la comunidad de Python, ya que el tiempo ha demostradosudo pip
ser una práctica rota.OSX El Capitan introdujo un mecanismo para evitar dañar los archivos del sistema operativo .
/System/Library/Frameworks/Python.framework/Versions/2.7/share
Es uno de los lugares protegidos. Un usuario normal no tiene ninguna razón para poner o escribir ningún archivo allí . Esto se debe a que el sistema operativo en sí depende de estos archivos ysudo pip
, con toda la fuerza dada por lo anterior, los sobrescribirá incondicionalmente. Por lo general, las cosas malas no sucederían, pero las posibilidades están ahí. Apple quiere proteger a los usuarios de su sistema operativo para que bloqueen accidentalmente su instalación.En su lugar, debe instalar un paquete de Python, como IPython, localmente en la carpeta de inicio de su usuario . La forma más fácil es crear un entorno virtual , activarlo y luego ejecutar pip en el entorno virtual.
Ejemplo:
Más información
Tutorial oficial de instalación del paquete Python .
Cómo crear entornos virtuales .
Alternativamente, uno debería poder hacer
pip install --user
. Pero nuevamente, no se necesita sudo y debe configurar manualmentePATH
la variable de entorno.fuente
easy_install
stackoverflow.com/a/33463702/3078330pip install virtualenv
ya no debería ser necesario para Python 3.4+, ya que vienen con elpython -m venv
equivalente virtualenv incorporado . docs.python.org/3/library/venv.htmlpip install --user IPython
ayuda con eso. Además,pip install --user IPython
no puede colocar elipython
comando en$PATH
(al menos en mi máquina).Tuve los mismos problemas, pero el uso me
easy_install "module"
resolvió el problema.No estoy seguro de por qué, pero pip y easy_install usan diferentes ubicaciones de instalación, y easy_install eligió las correctas.
Editar: sin volver a verificar pero debido a los comentarios; parece que diferentes instalaciones (OSX e instaladas en brew) interfieren entre sí, por lo que las herramientas mencionadas apuntan a diferentes ubicaciones (ya que pertenecen a diferentes instalaciones). Entiendo que generalmente esas herramientas de un punto de instalación a la misma carpeta.
fuente
easy_install
está configurado para otro?easy_install
para todos ellos:easy_install-2.6
,easy_install-2.7
,easy_install-3.5
pip
yeasy_install
apuntan a diferentes Python. Puede resolver esto con elwhich
comando UNIX y luego averiguar elpip
comando correcto para usar.Deberías reinstalar Python:
Para obtener cerveza, vea la página de inicio de cerveza .
fuente
brew install python
entonces creopip
que ya está en su lugar. Después de que lapip
instalación funcionó (tuve problemas similares con los permisos y el rescate de pip en las instalaciones)pip install --ignore-installed six
Esto hará el trabajo, entonces puedes probar tu primer comando.
Vía http://github.com/pypa/pip/issues/3165
fuente
pip install --ignore-installed setuptools
.En su
pip3 install <package>
lugar, se utilizó y resolvió el problema de permisos conpip
.fuente
pip3
usa Python 3, que generalmente es instalado por el usuario. Python 2 (2.7), por otro lado, se envía con macOS y está protegido como explica la respuesta mejor calificada.TL; corrección de DR $ PATH
pip install --user package_name
para instalar un paquete que debe incluir ejecutables de la CLI.import package_name
lib/python/...
ocurre en la salida y reemplácelo todo conbin
$HOME/Library/Python/2.7/bin
Detalles
Debido a la nueva Protección de integridad del sistema en macOS 10.11 El Capitan, ya no puede
sudo pip install
. No discutiremos los méritos de eso aquí.Otra respuesta explica que deberías
pip install --user
cuál es la correcta. Pero lo enviaron a los callejones traseros para averiguar qué hacer con usted$PATH
para que pueda acceder a los archivos ejecutables instalados. Afortunadamente, ya he resuelto una necesidad similar de una pregunta no relacionada .Aquí hay una transcripción de cómo resolví el problema en uno de mis sistemas. Lo incluyo todo en lugar de lo
$PATH
que funcionó para mí, porque su sistema puede ser diferente al mío. Este proceso debería funcionar para todos.fuente
Mismo error
y aquí uso
--user
sinsudo
resolver este problema¡Espero que ayude a alguien que encuentre un problema similar!
fuente
sudo
con--user
. Lo que--user
hace es instalar en~/Library
lugar de/Library
no tener que usarsudo
para instalar allí. Pero una vez que instala consudo
, los directorios y archivos son propiedad de todosroot
. Entonces tienes que usarsudo
para hacerles cualquier otra cosa. Lo que a su vez requerirá que lo usessudo
para otras cosas para las que no deberías usarlo. Entonces, incluso un error honesto puede pasar de arrojar un error a destruir datos.Tuve los mismos problemas. Como otros han mencionado, no ejecutes pip install con sudo. correr
y corrija las advertencias y debería poder continuar con la instalación de su pip.
fuente
Es difícil hacer que pip trabaje en El Capitán por varias razones:
/System/Library/
. El Capitán bloquea esto, que es el error con el que te estás encontrando./System/Library/
. pip a menudo quiere actualizar estos pero no puede en El Capitan./System/Library/
un lugar más alto en el orden de búsqueda de Python que/Library/Python/2.7/site-packages
(la ubicación del paquete de Python en todo el sistema), por lo que incluso si logra instalar versiones más nuevas de algunos paquetes, los antiguos aún se cargan, rompiendo algunas dependencias.Hay soluciones para todos estos en https://apple.stackexchange.com/a/223163/143849 . Pero es mejor que instales tu propia versión de Python a través del instalador estándar de Python, Homebrew o Anaconda.
fuente
Supongo que tienes algún conflicto con otro paquete. Para mí lo fue
six
. Entonces necesita usar un comando como este:o
pip install --ignore-installed six
fuente
six
.Estoy totalmente de acuerdo con Mikko, pero si aún quieres hacerlo, esta es la forma:
csrutil disable
fuente
Tengo python2.7 instalado a través de brew y lo siguiente resolvió mi problema
instalar cerveza numpy
Instala python3, pero aún funciona y lo configura para 2.7 también.
fuente