如何使用 .pth 文件添加 Python 导入路径
Posted
技术标签:
【中文标题】如何使用 .pth 文件添加 Python 导入路径【英文标题】:How to add a Python import path using a .pth file 【发布时间】:2010-10-16 13:38:40 【问题描述】:如果我将 *.pth 文件放在站点包中,它会给出 ImportError
。
我不知道如何通过创建 *.pth 文件来导入。
(参考importing in python)
【问题讨论】:
您应该添加指向原始问题的链接,***.com/questions/697281/importing-in-python -1:您应该提供 (1) 代码,(2) 实际错误消息,(3) 您正在使用的 .pth 文件。 【参考方案1】:如果您将.pth
文件放在包含路径的site-packages
目录中,python 会在此路径中搜索导入。所以我有一个sth.pth
文件,其中只包含:
K:\Source\Python\lib
在那个目录中有一些普通的 Python 模块:
logger.py
fstools.py
...
这允许直接从其他脚本导入这些模块:
import logger
log = logger.Log()
...
【讨论】:
短小精悍... :-) 但是你把 sth.pth 文件放在哪里呢?当 python 安装在 C:\python27 中时? 谢谢,我用过import sys
; sys.path.append(path)
有一段时间了。这行得通【参考方案2】:
/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']
【讨论】:
请简要说明您在做什么以上是关于如何使用 .pth 文件添加 Python 导入路径的主要内容,如果未能解决你的问题,请参考以下文章
确定当前Python环境中的site-packages目录位置