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的情况):

使用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 所在的路径),也可以是绝对路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值