2009-03-31 7 views
13

Si je place un fichier * .pth dans des packages de site, cela donne un ImportError. Je ne comprends pas comment importer en créant un fichier * .pth.Comment ajouter un chemin d'importation Python à l'aide d'un fichier .pth

(Fait référence à importing in python)

+0

Vous devez ajouter un lien à la question originale, http://stackoverflow.com/questions/697281/importi ng-in-python – itsadok

+2

-1: Vous devez fournir (1) le code, (2) le message d'erreur réel, (3) le fichier .pth que vous utilisez. –

Répondre

35

Si vous mettez un fichier .pth dans le répertoire site-packages contenant un chemin, les recherches de python ce chemin pour les importations. J'ai donc un fichier sth.pth il qui contient simplement:

K:\Source\Python\lib 

Dans ce répertoire il y a des modules Python normaux:

logger.py 
fstools.py 
... 

Cela permet d'importer directement ces modules à partir d'autres scripts:

import logger 

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

belle explication simple. merci –

+0

Court et simple ... :-) – mrutyunjay

+0

Mais où mettez-vous le fichier sth.pth? quand python est installé dans 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'] 
Questions connexes