python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python自定义模块使用.pth文件实现重用

python自定义模块使用.pth文件实现重用方式

作者:hbh112233abc

这篇文章主要介绍了python自定义模块使用.pth文件实现重用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python自定义模块使用.pth文件实现重用

关于自定义模块重用的最好办法是打包发布到pypi然后使用pip进行安装,但是有些模块是项目内部使用的不方便公开的可以使用.pth实现自动引入

关于python的.pth文件的功能参考:

Python中._pth文件的作用

具体操作

1. 在python的 Lib/site-packages 目录新建.pth文件

2. 编辑.pth文件,添加要重用的模块目录,多个目录编辑多行

然后D:\py\base目录中的模块就可以直接import导入使用了

以下是我写的自动添加模块到.pth的脚本in_lab.py

import os
import shutil
 
python_path = shutil.which("python")
python_path = os.path.dirname(python_path)
if python_path.startswith("/"):
    python_path = python_path[1] + ":" + python_path[2:]
print(python_path)
lib_path = os.path.join(python_path, "lib")
if not os.path.exists(lib_path):
    lib_path = os.path.join(os.path.dirname(python_path), "lib")
 
pth_file = os.path.join(lib_path, "site-packages", ".pth")
print(pth_file)
pwd = os.path.dirname(os.path.abspath(__file__))
if not os.path.exists(pth_file):
    with open(pth_file, "w") as f:
        f.write(pwd + "\n")
else:
    with open(pth_file, "r") as f:
        content = f.read()
    if pwd not in content:
        with open(pth_file, "a") as f:
            f.write(pwd + "\n")

在需要添加的模块中生成in_lab.py

然后在当前使用的python环境运行

python d:/py/base/in_lab.py

这样就可以自动添加d:/py/base到.pth了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文