python自定义模块使用.pth文件实现重用方式
作者:hbh112233abc
这篇文章主要介绍了python自定义模块使用.pth文件实现重用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
python自定义模块使用.pth文件实现重用
关于自定义模块重用的最好办法是打包发布到pypi然后使用pip进行安装,但是有些模块是项目内部使用的不方便公开的可以使用.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了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。