python 包 检测自己是否为 editable 模式安装的
遇到一个需求,要在 editable 模式和 正常安装模式读取不同的文件
下面代码需要放在一个包里,或者 自己把 package_name 改成任意其他任意包,即可检查其他包是否为可编辑模式安装
from importlib.metadata import Distributiondef is_editable() -> bool:# 检查自身是否为可编辑式安装# 获取包名package_name = __package__.split('.')[0]dist = Distribution.from_name(package_name)origin = getattr(dist, "origin", None)if origin is not None:dir_info = getattr(origin, 'dir_info', None)if dir_info is not None:return getattr(dir_info, 'editable', False)return False# 检查自己是否为可编辑模式安装
print('is_editable', is_editable())
