如果我在site-packages中放入一个* .pth文件,它会给出ImportError
。
我没有通过创建* .pth文件来获取如何导入。
答案 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']