如何使用.pth文件添加Python导入路径

时间:2009-03-31 07:15:06

标签: python python-import

如果我在site-packages中放入一个* .pth文件,它会给出ImportError。 我没有通过创建* .pth文件来获取如何导入。

(参考importing in python

2 个答案:

答案 0 :(得分:37)

如果将.pth文件放在包含路径的site-packages目录中,python将在此路径中搜索导入。所以我在那里有一个sth.pth文件,其中只包含:

K:\Source\Python\lib

在该目录中有一些普通的Python模块:

logger.py
fstools.py
...

这允许从其他脚本直接导入这些模块:

import logger

log = logger.Log()
...

答案 1 :(得分:26)

/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']