Как добавить путь импорта Python, используя файл .pth - PullRequest
13 голосов
/ 31 марта 2009

Если я помещаю * .pth файл в пакеты сайта, он дает ImportError. Я не понимаю, как импортировать, создав * .pth файл.

(Относится к импорту в python )

Ответы [ 2 ]

37 голосов
/ 31 марта 2009

Если вы поместите файл .pth в каталог site-packages, содержащий путь, python ищет этот путь для импорта. Итак, у меня есть файл sth.pth, который просто содержит:

K:\Source\Python\lib

В этом каталоге есть несколько обычных модулей Python:

logger.py
fstools.py
...

Это позволяет напрямую импортировать эти модули из других скриптов:

import logger

log = logger.Log()
...
26 голосов
/ 31 марта 2009
/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']
...