2009-03-31 17 views
13

Si pongo un archivo * .pth en paquetes de sitio, se obtiene un ImportError. No obtengo cómo importar creando un archivo * .pth.Cómo agregar una ruta de importación de Python utilizando un archivo .pth

(Se refiere a importing in python)

+0

Debe agregar un enlace a la pregunta original, http://stackoverflow.com/questions/697281/importi ng-in-python – itsadok

+2

-1: Debe proporcionar (1) el código, (2) el mensaje de error real, (3) el archivo .pth que está utilizando. –

Respuesta

35

Si coloca un archivo en el directorio .pthsite-packages que contiene una ruta de acceso, búsquedas pitón este camino para las importaciones. Así que tengo un archivo sth.pth hay que contiene simplemente:

K:\Source\Python\lib 

En ese directorio hay algunos módulos normales de Python:

logger.py 
fstools.py 
... 

Esto permite la importación directa de estos módulos de otras secuencias de comandos:

import logger 

log = logger.Log() 
... 
+0

buena explicación simple. gracias –

+0

Corto y simple ... :-) – mrutyunjay

+0

¿Pero dónde pones el archivo sth.pth? cuando python está instalado en C: \ python27? – YumYumYum

25
/tmp/$ mkdir test; cd test 
/tmp/test/$ mkdir foo; mkdir bar 
/tmp/test/$ echo -e "foo\nbar" > foobar.pth 
/tmp/test/$ cd .. 
/tmp/$ python 
Python 2.6 (r26:66714, Feb 3 2009, 20:52:03) 
[GCC 4.3.2 [gcc-4_3-branch revision 141291]] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import site, sys 
>>> site.addsitedir('test') 
>>> sys.path[-3:] 
['/tmp/test', '/tmp/test/foo', '/tmp/test/bar'] 
Cuestiones relacionadas