python 包 检测自己是否为 editable 模式安装的
·
遇到一个需求,要在 editable 模式和 正常安装模式读取不同的文件
下面代码需要放在一个包里,或者 自己把 package_name 改成任意其他任意包,即可检查其他包是否为可编辑模式安装
from importlib.metadata import Distribution
def 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())
更多推荐
所有评论(0)