2011-10-21 15 views
47

Estoy revisando y escribiendo un documento de configuración para otros desarrolladores en el trabajo para un proyecto de Python y he estado leyendo en la variable de entorno PYTHONPATH. Estoy mirando mi sistema de desarrollo actual y creo que tengo algunas cosas mal establecidas que están causando que mi IDE (IntelliJ) se comporte incorrectamente al buscar las bibliotecas de Python.¿Qué debería establecerse exactamente en PYTHONPATH?

He visto la documentación here y here y todavía no estoy seguro de lo que realmente debería estar en la variable de entorno PYTHONPATH.

Tengo PYTHONHOME apuntado a `C: \ Python27 '.

Mi actual PYTHONPATH se establece en PYTHONHOME. ¿Debo también agregar los directorios de sys.path?

ACTUALIZACIÓN:

Sobre la base de la información a continuación, PYTHONPATH no tiene que ser establecido a menos que haya bibliotecas no estándar que desee pitón para poder encontrar de forma predeterminada. Por ejemplo, cuando instale wxPython desde el instalador, agregará sus bibliotecas al PYTHONPATH. Establezco PYTHONHOME en la raíz de la instalación de python para que pueda agregarlo a la variable de entorno de mi sistema PATH para que pueda ejecutar python desde cualquier lugar.

Respuesta

29

No tiene que establecer ninguna de ellas. PYTHONPATH se puede configurar para que apunte a directorios adicionales con bibliotecas privadas en ellos. Si PYTHONHOME no está configurado, Python utiliza de manera predeterminada el directorio donde se encontró python.exe, por lo que ese directorio debería estar en PATH.

+3

PYTHONHOME realidad apunta al directorio de la biblioteca estándar por defecto (por ejemplo,/usr/local/lib/pythonXX). –

+1

@Ferdinand No en Windows. No está configurado. Pero el punto es que el usuario generalmente no tiene que meterse con ninguno de ellos a menos que tengan un directorio privado de bibliotecas diferente al predeterminado. –

+2

Por supuesto que no está configurado: Python nunca establece variables de entorno. Pero existe un equivalente interno a PYTHONHOME que puede ser * anulado * utilizando la variable de entorno. Estoy hablando del valor predeterminado de esta variable interna. –

18

Para la mayoría de las instalaciones, no debe establecer estas variables, ya que no son necesarias para que Python se ejecute. Python sabe dónde encontrar su biblioteca estándar.

La única razón para establecer PYTHONPATH es mantener directorios de bibliotecas de Python personalizadas que no desee instalar en la ubicación predeterminada global (es decir, el directorio site-packages).

Asegúrese de leer: http://docs.python.org/using/cmdline.html#environment-variables

+0

bien, así que no deberías. ¿Pero qué DEBERÍAS hacer? Desea ejecutar módulos en la ruta y no desea que el código fuente contenga rutas (no relativas y definitivamente no rutas estáticas). – pashute