Python使用.pth文件扩展环境路径

Python使用.pth文件扩展环境路径

有时候我们不希望把一个库或模块放到 site-packages中,而是更愿意把它保留在原项目的目录中,方便管理和维护。那么怎么能让 Python 运行环境找到这个库或模块呢?

Python解释器在遍历已知的库文件目录过程中,如果见到一个.pth文件(如myName.pth),就会将文件中所记录的路径加入到 sys.path 设置中,于是 .pth 文件说指明的库也就可以被 Python 运行环境找到了。.pth文件,它的内容是要添加到 sys.path 中的项目路径(每行一个)。空行和由 # 起始的行会被跳过。【.pth文件在官方https://docs.python.org/zh-cn/3/library/site.html#module-site 中有相关介绍 】

那么,在Python中sys.path有什么作用呢?

sys.path是一个由字符串组成的列表,用于指定模块的搜索路径。初始化自环境变量 PYTHONPATH,再加上一条与安装有关的默认路径。还可以使用 .pth 文件来扩展 sys.path。【sys.path官方介绍 https://docs.python.org/zh-cn/3/library/sys.html#sys.path】

可以在python的shell中,输入如下命令
import sys
sys.path

参见下图(Windows10中,Python3.10安装在D:\Python的情况):

Python使用.pth文件扩展环境路径_第1张图片

使用sys.path.append(path)能为sys.path添加相关的路径,如sys.path.append('D:\\myPythonLib')

但是,这种做法在退出python环境后自己添加的路径就会自动消失!

如何解决这个问题呢,可以有以下做法:

☆使用PYTHONPATH环境变量,在这个环境变量中输入相关的路径,不同的路径之间用逗号(英文的!)分开,如果PYTHONPATH 变量还不存在,可以创建它!

路径会自动加入到sys.path中,而且可以在不同的python版本中共享。

☆使用pth文件,在 site-packages 文件中创建 .pth文件,将模块的路径写进去,一行一个路径,以下是一个示例,myName.pth文件:

# .pth file for the my project(这行是注释)
D:\myPythonLib
E:\DjangoWord\mysite

提示,主文件名是没有限制的,只要扩展名为 .pth 就可以了。文件内容中是项目的路径,一行一个,路径可以是相对路径(相对于 .pth 所在的路径),也可以是绝对路径。

你可能感兴趣的:(Python学习,python)