¿Cómo instalar módulos de Python sin acceso root?

Resuelto Rishi asked hace 12 años • 9 respuestas

Estoy tomando algunas clases universitarias y me han dado una "cuenta de instrucción", que es una cuenta escolar a la que puedo acceder para trabajar. Quiero ejecutar mi código scipy, matplotlib y Numpy computacionalmente intensivo en esa máquina, pero no puedo instalar estos módulos porque no soy administrador del sistema.

¿Cómo puedo hacer la instalación?

Rishi avatar Sep 19 '11 07:09 Rishi
Aceptado

En la mayoría de las situaciones, la mejor solución es confiar en la ubicación del llamado "sitio de usuario" (consulte el PEP para obtener más detalles) ejecutando:

pip install --user package_name

A continuación se muestra una forma más "manual" de mi respuesta original; no es necesario que la lea si la solución anterior funciona para usted.


Con easy_install puedes hacer:

easy_install --prefix=$HOME/local package_name

que se instalará en

$HOME/local/lib/pythonX.Y/site-packages

(La carpeta 'local' es un nombre típico que usa mucha gente, pero, por supuesto, puede especificar cualquier carpeta en la que tenga permisos para escribir).

Deberá crear manualmente

$HOME/local/lib/pythonX.Y/site-packages

y agréguelo a su PYTHONPATHvariable de entorno (de lo contrario, easy_install se quejará; por cierto, ejecute el comando anterior una vez para encontrar el valor correcto para XY).

Si no está utilizando easy_install, busque una opción de prefijo; la mayoría de los scripts de instalación le permiten especificar uno.

Con pip puedes usar:

pip install --install-option="--prefix=$HOME/local" package_name
tiho avatar Sep 19 '2011 01:09 tiho

¿No tienes permisos para acceder ni instalar easy_install?

Luego, puede crear un Python virtualenv( https://pypi.python.org/pypi/virtualenv ) e instalar el paquete desde este entorno virtual.

Ejecutar 4 comandos en el shell será suficiente (inserte la versión actual como 16.1.0 para XXX):

$ curl --location --output virtualenv-X.X.X.tar.gz https://github.com/pypa/virtualenv/tarball/X.X.X
$ tar xvfz virtualenv-X.X.X.tar.gz
$ python pypa-virtualenv-YYYYYY/src/virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install package_name

Fuente y más información: https://virtualenv.pypa.io/en/latest/installation/

tremendows avatar Dec 19 '2012 17:12 tremendows

Puede ejecutar easy_install para instalar paquetes de Python en su directorio de inicio incluso sin acceso de root. Hay una forma estándar de hacer esto usando site.USER_BASE que por defecto es algo como $HOME/.local o $HOME/Library/Python/2.7/bin y se incluye de forma predeterminada en PYTHONPATH.

Para hacer esto, cree un .pydistutils.cfg en su directorio de inicio:

cat > $HOME/.pydistutils.cfg <<EOF
[install]
user=1
EOF

Ahora puedes ejecutar easy_install sin privilegios de root:

easy_install boto

Alternativamente, esto también te permite ejecutar pip sin acceso de root:

pip install boto

Esto funciona para mí.

Fuente del blog de Wesley Tanaka: http://wtanaka.com/node/8095

yusong avatar Nov 01 '2015 16:11 yusong