sirve - modulos y paquetes python
Dirigiendo Python para buscar en otra carpeta para módulos (1)
Esto es configurado por site.py
Puede averiguar qué site.py
ingresando el intérprete con:
python -v
Alternativamente, importe el site
en el intérprete interactivo y verifique el atributo site.__file__
del site.__file__
.
También hay un script útil en site.py
que puede ejecutar
python -m site
Lo que desea ver en la salida es su sitio de usuario, algo así como
USER_BASE: ''/home/<your_username>/.local'' (exists)
USER_SITE: ''/home/<your_username>/.local/lib/python2.7/site-packages'' (exists)
ENABLE_USER_SITE: True
Cuando pip install
un paquete, usa pip install --user
, que instalará módulos en tu espacio de usuario. No instale cosas con sudo pip install
. No mande el sys.path
manualmente como sugiere la "solución rápida" de jmd_dk . Hazlo apropiadamente.
Si, después de leer la documentación del sitio y PEP370 , todavía tiene problemas para configurar correctamente el sitio del usuario, entonces es aceptable agregar una línea como esta en su perfil de bash:
export PYTHONPATH=/home/<your_username>/.local/lib/python2.7/site-packages
Si tiene una instalación de Python 3 y Python 2, tenga en cuenta que la variable de entorno PYTHONPATH
será vista por ambos intérpretes. En este caso, se recomienda encarecidamente habilitar el site.USER_SITE
por separado para cada intérprete (o usar entornos virtuales) para proporcionar el espacio de nombres adecuado de los paquetes instalados.
Todavía soy bastante nuevo para Python, así que discúlpame si esto es extremadamente simple o una manera extremadamente equivocada de pensar sobre esto.
Tengo Python 2.7 instalado. Por lo que entiendo cuando ejecuto el siguiente código, enumera los directorios donde busca módulos.
Python 2.7.12 (default, Oct 11 2016, 14:42:58)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print ''/n''.join(sys.path)
/usr/local/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Tengo otro directorio que parece tener un montón de módulos de Python que instalé en él. "/Library/Python/2.7/site-packages"
Creo que necesito hacer una de estas dos cosas:
(1) dirija python para buscar en esta carpeta adicional para módulos. ¿Cómo puedo hacer eso?
(2) instale los módulos en una de las carpetas a las que ya está dirigiendo. He estado usando pip para instalar módulos, y creo que pip está instalando en este director adicional. ¿Cómo puedo verificar si pip está instalando en esta carpeta? ¿Cómo cambio el lugar donde se instalan los paquetes de instalación?
¡Gracias!