you paquetes mac librerias instalar however descargar available are python macos pip sudo

python - paquetes - upgrade pip windows



¿Es aceptable y seguro ejecutar pip install bajo sudo? (6)

¿Es aceptable y seguro ejecutar pip install bajo sudo ?

No es seguro y está siendo mal visto - ver ¿Cuáles son los riesgos de ejecutar ''sudo pip''? Para instalar el paquete Python en su directorio de inicio no necesita privilegios de root. Ver description de --user del --user a pip.

Empecé a usar mi Mac para instalar paquetes de Python de la misma manera que lo hago con mi PC con Windows en el trabajo; sin embargo, en mi Mac he encontrado frecuentes errores de denegación de permisos al escribir en archivos de registro o paquetes de sitios.

Por lo tanto, pensé en ejecutar pip install <package> en sudo pero ¿es eso un uso seguro / aceptable de sudo teniendo en cuenta que solo deseo que esto se instale en mi cuenta de usuario actual?

Ejemplo de rastreo de un error de E / S del archivo de registro:

Command /usr/bin/python -c "import setuptools;__file__=''/Users/markwalker/build/pycrypto/setup.py'';exec(compile(open(__file__).read().replace(''/r/n'', ''/n''), __file__, ''exec''))" install --single-version-externally-managed --record /var/folders/tq/hy1fz_4j27v6rstzzw4vymnr0000gp/T/pip-k6f2FU-record/install-record.txt failed with error code 1 in /Users/markwalker/build/pycrypto Storing complete log in /Users/markwalker/Library/Logs/pip.log Traceback (most recent call last): File "/usr/local/bin/pip", line 8, in <module> load_entry_point(''pip==1.1'', ''console_scripts'', ''pip'')() File "/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg/pip/__init__.py", line 116, in main return command.main(args[1:], options) File "/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 141, in main log_fp = open_logfile(log_fn, ''w'') File "/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 168, in open_logfile log_fp = open(filename, mode) IOError: [Errno 13] Permission denied: ''/Users/markwalker/Library/Logs/pip.log''

Actualización Esto probablemente se debió a los permisos, sin embargo, el mejor enfoque es utilizar entornos virtuales para sus proyectos de Python. Se debe evitar ejecutar sudo pip menos que sea absolutamente necesario.


Debido a que tuve el mismo problema, quiero enfatizar que en realidad el primer comentario de Brian Cain es la solución al "IOError: [Errno 13]" - problema:

Si se ejecuta en el directorio temporal ( cd /tmp ), IOError ya no se ejecuta si ejecuto sudo pip install foo .


Parece que tus permisos están en mal estado. Escriba chown -R markwalker ~ en la Terminal y pruebe pip nuevamente? Avísame si estás ordenado.


Su problema original es que pip no puede escribir los registros en la carpeta.

IOError: [Errno 13] Permission denied: ''/Users/markwalker/Library/Logs/pip.log''

Debe ingresar en una carpeta en la que el proceso invocado pueda escribir como /tmp para que un cd /tmp y volver a invocar el comando probablemente funcione, pero no es lo que desea.

PERO en realidad para este caso en particular (no desea usar sudo para instalar paquetes de Python) y no es necesario instalar paquetes globales, puede usar el indicador de --user esta manera:

pip install --user <packagename>

y funcionará bien.

Supongo que tiene una instalación python python de un usuario y no quiere preocuparse por leer virtualenv (que no es muy pipenv ) o pipenv .

Como algunas personas en la sección de comentarios han señalado, el siguiente enfoque no es una buena idea a menos que no sepas qué hacer y se quede atascado:

Otro enfoque para paquetes globales como en su caso, quiere hacer algo como:

chown -R $USER /Library/Python/2.7/site-packages/

o más en general

chown -R $USER <path to your global pip packages>


Tuve un problema al instalar virtualenvwrapper después de instalar virtualenv éxito.

Mi terminal se quejó después de que hice esto:

pip install virtualenvwrapper

Entonces, sin éxito, probé esto ( NO RECOMENDADO ):

sudo pip install virtualenvwrapper

Entonces, lo instalé con éxito con esto:

pip install --user virtualenvwrapper


Use un entorno virtual :

$ virtualenv myenv .. some output .. $ source myenv/bin/activate (myenv) $ pip install what-i-want

Solo utiliza sudo o permisos elevados cuando desea instalar cosas para la instalación global de Python en todo el sistema.

Lo mejor es usar un entorno virtual que aísle paquetes por usted. De esa forma puedes jugar sin contaminar la instalación global de python.

Como beneficio adicional, virtualenv no necesita permisos elevados.