Instalación de paquetes pip en la carpeta HOME HOME


Es posible? Al instalar pip, instale los paquetes de python dentro de mi carpeta $HOME. (por ejemplo, quiero instalar mercurial, usando pip, pero dentro de $HOME en lugar de /usr/local)

Estoy con una máquina mac y solo pensé en esta posibilidad, en lugar de "contaminar" mi /usr/local, usaría mi $HOME en su lugar.

PEP370 es exactamente sobre esto. Es solo crear un ˜/.local y hacer un pip install package suficiente para hacer que estos paquetes se instalen solo en mi HOME HOME carpeta?

 304
Author: alex, 2011-08-22

3 answers

Aunque puedes usar un virtualenv, no es necesario. El truco es pasar el argumento PEP370 --user al script setup.py. Con la última versión de pip, una forma de hacerlo es:

pip install --user mercurial

Esto debería resultar en la instalación del script hg en $HOME/.local/bin/hg y el resto del paquete hg en $HOME/.local/lib/pythonx.y/site-packages/.

Tenga en cuenta que lo anterior es cierto para Python 2.6. Ha habido un poco de controversia entre los desarrolladores del núcleo de Python sobre cuál es la ubicación de directorio apropiada en Mac OS X para instalaciones al estilo PEP370 user. En Python 2.7 y 3.2, la ubicación en Mac OS X se cambió de $HOME/.local a $HOME/Library/Python. Esto podría cambiar en una versión futura. Pero, por ahora, en 2.7 (y 3.2, si hg fueran compatibles con Python 3), las ubicaciones anteriores serán $HOME/Library/Python/x.y/bin/hg y $HOME/Library/Python/x.y/lib/python/site-packages.

 425
Author: Ned Deily,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-24 00:58:52

Usaría virtualenv en su directorio PERSONAL.

$ sudo easy_install -U virtualenv
$ cd ~
$ virtualenv .
$ bin/pip ...

Entonces también podrías alterar ~/.(login|profile|bash_profile), lo que sea correcto para que tu shell agregue ~/bin a tu RUTA y entonces ese pip|python|easy_install sería el usado por defecto.

 19
Author: Ross Patterson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-22 05:03:02

Puede especificar la opción -t (--target) para especificar el directorio de destino. Véase pip install --help para información detallada. Este es el comando que necesita:

pip install -t path_to_your_home package-name

Por ejemplo, para instalar say mxnet, en mi directorio $HOME, escribo:

pip install -t /home/foivos/ mxnet
 10
Author: Foivos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-17 03:31:32