¿Cómo agregar a PYTHONPATH en Windows, para que encuentre mis módulos / paquetes?

369

Tengo un directorio que aloja todas mis aplicaciones de Django ( C:\My_Projects). Quiero agregar este directorio a mi PYTHONPATHpara poder llamar a las aplicaciones directamente.

Intenté agregar C:\My_Projects\;a mi Pathvariable de Windows desde la GUI de Windows ( My Computer > Properties > Advanced System Settings > Environment Variables). Pero todavía no lee el módulo coltrane y genera este error:

Error: ningún módulo llamado coltrane

Darren
fuente
para el error "sin módulo llamado": stackoverflow.com/questions/23417941/…
JinSnow
1
Yo usé el sitemódulo .
Zeinab Abbasimazar
si desea ejecutar Python en el símbolo del sistema, se responde bien aquí, espero que esto ayude stackoverflow.com/a/54618199/8253662
maheshmnj

Respuestas:

411

Sabes lo que me ha funcionado realmente bien en Windows.

My Computer > Properties > Advanced System Settings > Environment Variables >

Simplemente agregue la ruta como C: \ Python27 (o donde haya instalado python)

O

Luego, bajo variables del sistema, creo una nueva variable llamada PythonPath. En esta variable tengoC:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-folders-on-the-path

ingrese la descripción de la imagen aquí

Esta es la mejor manera que me ha funcionado y que no había encontrado en ninguno de los documentos ofrecidos.

EDITAR: para aquellos que no pueden obtenerlo, agregue

C: \ Python27;

junto con eso. De lo contrario, nunca funcionará .

Darren
fuente
50
Probablemente desee agregar C:\Python27en su camino.
Wei Yang
55
@SteveKoch No estoy seguro, tendrías que preguntarle al responsable del proyecto. Ya no uso el Editor de
rutas, ya que cambié a
55
También es importante agregar C: \ Python27 \ Scripts a la ruta para que los scripts instalados puedan ejecutarse desde el shell.
Tyler Brock el
66
¿Por qué poner C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tken PYTHONPATH? Esos ya están configurados. Los directorios para los scripts van en el sistema PATH. Los directorios para bibliotecas (que no están instalados site-packageso por usuario site-packages) entran PYTHONPATH.
Eryk dom
11
También tuve que incluir% PYTHONPATH% en mi RUTA.
eightx2
124

Windows 7 Professional I Modificó la respuesta de @ mongoose_za para que sea más fácil cambiar la versión de python:

  1. [Haga clic con el botón derecho] Computadora> Propiedades> Configuración avanzada del sistema> Variables de entorno
  2. Haga clic en [Nuevo] en "Variable del sistema"
  3. Nombre de la variable: PY_HOME, Valor de la variable: C: \ path \ to \ python \ version ingrese la descripción de la imagen aquí
  4. Haga clic en Aceptar]
  5. Localice la variable del sistema "Ruta" y haga clic en [Editar]
  6. Agregue lo siguiente a la variable existente:

    % PY_HOME%;% PY_HOME% \ Lib;% PY_HOME% \ DLLs;% PY_HOME% \ Lib \ lib-tk; ingrese la descripción de la imagen aquí

  7. Haga clic en [Aceptar] para cerrar todas las ventanas.

Como comprobación final de cordura, abra un símbolo del sistema e ingrese python. Debería ver

>python [whatever version you are using]

Si necesita cambiar entre versiones, solo necesita modificar la variable PY_HOME para que apunte al directorio apropiado. Esto es un poco más fácil de administrar si necesita múltiples versiones de Python instaladas.

Delicia Brummitt
fuente
44
Probé esto y funcionó ... recomendaría a cualquiera que tenga el mismo problema que lo pruebe.
Christopher M.
2
Intenté esto, no hizo nada en absoluto.
GreySage
Intenté la respuesta aceptada arriba y eso no funcionó, así que recomendaría esta.
mjwrazor
2
@Reihan_amn Me refiero al directorio de ajuste que contiene lib, bin, libexec, etc. Normalmente, estos directorios se llaman Python [VERSION_NUMBER] /, pero también he visto python / [VERSION_NUMBER]. Espero que esto ayude
Delicia Brummitt
55
Intenté esto y funcionó para mí. Tuve que hacer un pequeño ajuste que consistía en hacer clic en Nuevo para cada una de estas entradas para Windows 10 al agregarlas a la variable PATH. %PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk; También necesitaba agregar %PY_HOME%\Scriptspara tener acceso a pip y los módulos que instalo con pip como pylint
Jose 'Vargas
83

Desde la línea de comandos de Windows:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

Para configurar el PYTHONPATH permanentemente, agregue la línea a su autoexec.bat. Alternativamente, si edita la variable del sistema a través de las Propiedades del sistema, también se cambiará permanentemente.

Yuval Adam
fuente
1
Funcionó, pero cada vez que abro dos tenía que establecer el camino.
darren
77
Prefiero usarset path=%PATH%;%PYTHONPATH%;
Mr Wednesday
55
Dos y editar autoexec.bat ..! ¿Hemos vuelto a caer de repente en los años 90?
drexiya
44
Antes de esto, haga eco% PYTHONPATH% si esto le da una ruta, de lo contrario, haga, por ejemplo, configure PYTHONPATH = .; C: \ My_python_lib Si no lo hace, las ventanas expandirán% PYTHONPATH% para vaciar la cadena como se esperaba, lo hará. ¡mantenlo como% PYTHONPATH% en PYTHONPATH y todo se romperá! Suena loco, pero así es como funciona win7 cmd ...
ntg
69

Simplemente agregue su ruta de instalación (ej. C: \ Python27 \ ) a la variable PATH en las variables del sistema . Luego cierre y abra su línea de comando y escriba 'python' .

Paulino III
fuente
37
Esto está respondiendo una pregunta completamente diferente a la que estaba haciendo OP.
wpercy
1
La pregunta no es acerca de lo PATHque DOS usa para encontrar comandos, sino la ruta de Python, es decir, sys.pathen Python. En la mayoría de los sistemas operativos, Python solo usa la variable de entorno del sistema PYTHONPATH, pero Windows parece ser "especial".
Michael Scheper
52

Estas soluciones funcionan, pero solo funcionan para su código en su máquina. Agregaría un par de líneas a su código que se ven así:

import sys
if "C:\\My_Python_Lib" not in sys.path:
    sys.path.append("C:\\My_Python_Lib")

Eso debería solucionar tus problemas

inspectorG4dget
fuente
44
Modificar sys.pathasí está mal visto y por buenas razones. Hay mejores formas de configuración sys.path: PYTHONPATHvariables de entorno y .ptharchivos.
Piotr Dobrogost
38

Agregar Python y PythonPath al entorno de Windows:

  1. Abra el explorador.
  2. Haga clic con el botón derecho en 'Computadora' en el Panel del árbol de navegación a la izquierda.
  3. Seleccione 'Propiedades' en la parte inferior del menú contextual.
  4. Seleccione 'Configuración avanzada del sistema'
  5. Haga clic en 'Variables de entorno ...' en la pestaña Avanzado
  6. En 'Variables del sistema' :

    1. Añadir

      • PY_HOME

        C:\Python27
      • PYTHONPATH

        %PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk;C:\another-library
    2. Adjuntar

      • path

        %PY_HOME%;%PY_HOME%\Scripts\
Mr. Polywhirl
fuente
3
Esta es la única solución que funcionó para mí. Además, para aquellos de ustedes que no tienen derechos de administrador, simplemente siga los pasos anteriores en "Variables de usuario para [suNombre de usuario]" y funcionará igual de bien.
Tarifas KA
Python en Windows, apreciando node.js un poco más ahora mismo
Eddie
19

La forma más fácil de configurar la ruta en python es: haga clic en Inicio> Mi PC> Propiedades> Configuración avanzada del sistema> Variables de entorno> segundas ventanas>

ingrese la descripción de la imagen aquí

seleccione Ruta> Editar> y luego agregue "; C: \ Python27 \; C: \ Python27 \ Scripts \"

enlace: http://docs.python-guide.org/en/latest/starting/install/win/

Bamara Coulibaly
fuente
cambiar la ruta del sistema no cambió nada (eliminándolo también). Pero escribir en cmd admin funcionó: ftype Python.File = "C: \ Python27 \ python.exe" "% 1"% *
JinSnow
13

También puede agregar un .ptharchivo que contenga el directorio deseado en su c:\PythonX.Xcarpeta, o en su \site-packages folder, que tiende a ser mi método preferido cuando estoy desarrollando un paquete de Python.

Ver aquí para más información.

brentlance
fuente
9
import sys
sys.path.append("path/to/Modules")
print sys.path

Esto no persistirá durante los reinicios ni se traducirá a otros archivos. Sin embargo, es excelente si no desea realizar una modificación permanente en su sistema.

Gajendra D Ambi
fuente
1
+1 para la capacidad de establecer rutas son el tiempo de ejecución. aunque podría decirse "hacky", cuando se escribe una prueba de concepto o un trabajo único, esto es perfecto y deja el sistema sin modificaciones.
Joshua Burns
No estoy de acuerdo con que solo tengas que hacer esto una vez. Encuentro que el camino adicional no persiste después del reinicio del
kernel
8

La forma más fácil de hacerlo con éxito es ejecutar nuevamente el instalador de Python (después de la primera instalación) y luego:

  1. elija Modificar.
  2. marque las características opcionales que desee y haga clic en Siguiente.
  3. aquí vamos, en el paso "Opciones avanzadas" debe ver una opción que dice "Agregar Python a las variables de entorno". Simplemente marque esa opción y haga clic en Instalar. 3er paso Cuando se completa la instalación, se agregan variables de entorno de Python y puede usar fácilmente Python en todas partes.
Hamidreza
fuente
6

En Python 3.4 en Windows funcionó cuando lo agregué a la variable de entorno PATH en lugar de PYTHONPATH. Como si ha instalado Python 3.4 en D: \ Programming \ Python34, luego agregue esto al final de su variable de entorno PATH

;D:\Programming\Python34

Cierre y vuelva a abrir el símbolo del sistema y ejecute 'python'. Se abrirá el shell de Python. Esto también solucionó mi problema de Sublime 3 de 'python no se reconoce como un comando interno o externo' .

Octano
fuente
Sí, esta fue la única solución para mí (Python 3.x). Realmente no tengo idea de por qué% PYTHONPATH% no se resuelve en el parámetro Path. Llamar a la carpeta de Scripts no era necesario.
Davidson Lima
6

Las rutas de Python 2.X se pueden configurar a partir de algunas de las instrucciones anteriores. Python 3 se instalará de manera predeterminada en C: \ Users \\ AppData \ Local \ Programs \ Python \ Python35-32 \ Por lo tanto, esta ruta debe agregarse a la variable Ruta en el entorno de Windows.

Pavan Ebbadi
fuente
5

Para aumentar PYTHONPATH, ejecute regedit y navegue a KEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore y luego seleccione la carpeta para la versión de Python que desea usar. Dentro de esto hay una carpeta etiquetada PythonPath, con una entrada que especifica las rutas donde la instalación predeterminada almacena los módulos. Haga clic derecho en PythonPath y elija crear una nueva clave. Es posible que desee nombrar la clave después del proyecto cuyas ubicaciones de módulo especificará; De esta manera, puede compartimentar y rastrear fácilmente sus modificaciones de ruta.

Gracias

Brajendu Kumar Das
fuente
4

Python utiliza la variable de entorno PYTHONPATH para especificar una lista de directorios desde los que se pueden importar los módulos en Windows. Cuando se ejecuta, puede inspeccionar la sys.pathvariable para ver qué directorios se buscarán cuando importe algo.

Para establecer esta variable desde el símbolo del sistema, utilice: set PYTHONPATH=list;of;paths.

Para configurar esta variable desde PowerShell, use: $env:PYTHONPATH=’list;of;paths’justo antes de iniciar Python.

No se recomienda configurar esta variable globalmente a través de la configuración de Variables de entorno , ya que puede ser utilizada por cualquier versión de Python en lugar de la que tiene la intención de utilizar. Lea más en los documentos de preguntas frecuentes sobre Python en Windows .

MWOJO
fuente
3

Para cualquiera que intente lograr esto con Python 3.3+, el instalador de Windows ahora incluye una opción para agregar python.exe a la ruta de búsqueda del sistema. Lea más en los documentos .

Andreas Bergström
fuente
3

Esta pregunta necesita una respuesta adecuada:

¡Solo use el paquete estándar site, que fue hecho para este trabajo!

y aquí está cómo (plagiando mi propia respuesta a mi propia pregunta sobre el mismo tema):


  1. Abra un indicador de Python y escriba
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...
  1. Cree esta carpeta si aún no existe:
...
>>> import os
>>> os.makedirs(site.USER_SITE)
...
  1. Cree un archivo sitecustomize.pyen esta carpeta que contenga el contenido FIND_MY_PACKAGES, ya sea manualmente o usando algo como el siguiente código. Por supuesto, debe cambiar C:\My_Projectsa la ruta correcta a su ubicación de importación personalizada.
...
>>> FIND_MY_PACKAGES = """
import site
site.addsitedir(r'C:\My_Projects')
"""
>>> filename = os.path.join(site.USER_SITE, 'sitecustomize.py')
>>> with open(filename, 'w') as outfile:
...     print(FIND_MY_PACKAGES, file=outfile)

Y la próxima vez que inicie Python, C:\My_Projectsestará presente en su sys.path, sin tener que tocar la configuración de todo el sistema. Bonificación: ¡los pasos anteriores también funcionan en Linux!

ojdo
fuente
Este es el camino a seguir, parece. Una buena solución multiplataforma y a largo plazo. ¡Muy buena!
Pramesh Bajracharya
2

Esta PYTHONPATHvariable debe configurarse para ArcPYcuando se instala ArcGIS Desktop.

PYTHONPATH=C:\arcgis\bin (su contenedor de inicio de ArcGIS)

Por alguna razón, nunca se configuró cuando utilicé el instalador en un sistema Windows 7 de 32 bits.

Dan Randolph
fuente
2

Lo hice funcionar en Windows 10 siguiendo los pasos a continuación.

En las variables de entorno, solo debe agregarlo bajo RUTA de " Variables del sistema " y no bajo " Variables de usuario ". Esta es una gran confusión y consume tiempo si la extrañamos.

Además, solo intente navegar a la ruta donde instaló Python en su máquina y agréguelo a PATH. Esto simplemente funciona y no es necesario agregar ninguna otra cosa en mi caso. Agregué justo debajo de la ruta y funcionó.

C: \ Users \ YourUserName \ AppData \ Local \ Programs \ Python \ Python37-32

Lo más importante , cierre el símbolo del sistema, vuelva a abrir y vuelva a intentar escribir "python" para ver los detalles de la versión. Debe reiniciar el símbolo del sistema para ver la versión después de configurar la ruta en las variables de entorno.

Después de reiniciar, debería poder ver el indicador de Python y la siguiente información al escribir Python en el símbolo del sistema:

Al escribir python en el símbolo del sistema

Ravi Shankar Kota
fuente
1

Tal vez un poco tarde, pero así es como agrega la ruta a las Variables de entorno de Windows.

  1. Vaya a la pestaña Variables de entorno, haga esto presionando la tecla Windows + Pausa inter.

  2. Vaya a Configuración avanzada del sistema.

  3. Haga clic en Variables de entorno.

  4. En la ventana inferior, busque el valor 'Ruta'.

  5. Seleccionarlo

  6. Haga clic en Editar

  7. Al final de la línea, agregue su carpeta de instalación y la ruta a la carpeta 'Scripts'.

  8. Haga clic en Aceptar, aceptar, etc.

Ya ha terminado, ingrese cmd y escriba python desde cualquier ubicación de su unidad, debe ingresar al programa Python.

Ejemplo con mi pc (tengo Python34)

EXISTING_LINES;C:\Python34;C:\Python34\Scripts\

Espero eso ayude.

Saludos desde bogotá

sandatomo
fuente
2
De hecho, es un poco tarde, ya que esta respuesta ya se proporcionó hace cinco años :-) Tampoco es realmente lo que se pregunta aquí (ya que la pregunta es sobre PYTHONPATH, no PATH) ...
Martin Tournoij
2
¿Qué es Pausa inter.?
Ringo
0

Puede configurar la variable de ruta fácilmente mediante el símbolo del sistema.

  1. Abrir ejecutar y escribir cmd

  2. En la ventana de comandos, escriba lo siguiente: set path =% path%; C: \ python36

  3. presione enter.
  4. para verificar escribir python e ingresar. Verá la versión de Python como se muestra en la imagen.

ingrese la descripción de la imagen aquí

Abdur Rahman
fuente
0

Si bien esta pregunta es sobre el 'verdadero' Python, surgió en una búsqueda web para 'Iron Python PYTHONPATH'. Para los usuarios de Iron Python tan confundidos como yo: Resulta que Iron Python busca una variable de entorno llamada IRONPYTHONPATH.

Usuarios de Linux / Mac / POSIX: No olviden que Windows no solo usa \como separadores de ruta, sino que también los usa ;como delimitadores de ruta, no :.

Michael Scheper
fuente