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

$PATHpara que pueda llamar a los ejecutables para los paquetes de usuario instalados. stackoverflow.com/a/47102398/117471sudocon--user. Lo que--userhace es instalar en~/Librarylugar de/Libraryno tener que usarsudopara instalar allí. Pero una vez que instala consudo, los directorios y archivos son propiedad de todosroot. Entonces tienes que usarsudopara hacerles cualquier otra cosa. Lo que a su vez requerirá que lo usessudopara 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 installson 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 pipser 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/shareEs 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 manualmentePATHla variable de entorno.fuente
easy_installstackoverflow.com/a/33463702/3078330pip install virtualenvya no debería ser necesario para Python 3.4+, ya que vienen con elpython -m venvequivalente virtualenv incorporado . docs.python.org/3/library/venv.htmlpip install --user IPythonayuda con eso. Además,pip install --user IPythonno puede colocar elipythoncomando 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_installestá configurado para otro?easy_installpara todos ellos:easy_install-2.6,easy_install-2.7,easy_install-3.5pipyeasy_installapuntan a diferentes Python. Puede resolver esto con elwhichcomando UNIX y luego averiguar elpipcomando correcto para usar.Deberías reinstalar Python:
Para obtener cerveza, vea la página de inicio de cerveza .
fuente
brew install pythonentonces creopipque ya está en su lugar. Después de que lapipinstalación funcionó (tuve problemas similares con los permisos y el rescate de pip en las instalaciones)pip install --ignore-installed sixEsto 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
pip3usa 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_namepara instalar un paquete que debe incluir ejecutables de la CLI.import package_namelib/python/...ocurre en la salida y reemplácelo todo conbin$HOME/Library/Python/2.7/binDetalles
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 --usercuál es la correcta. Pero lo enviaron a los callejones traseros para averiguar qué hacer con usted$PATHpara 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
$PATHque 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
--usersinsudoresolver este problema¡Espero que ayude a alguien que encuentre un problema similar!
fuente
sudocon--user. Lo que--userhace es instalar en~/Librarylugar de/Libraryno tener que usarsudopara instalar allí. Pero una vez que instala consudo, los directorios y archivos son propiedad de todosroot. Entonces tienes que usarsudopara hacerles cualquier otra cosa. Lo que a su vez requerirá que lo usessudopara 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 sixfuente
six.Estoy totalmente de acuerdo con Mikko, pero si aún quieres hacerlo, esta es la forma:
csrutil disablefuente
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