python 直接加载egg 文件的模块

主要作为一个简单记录

参考示例

  • 文件模式
import sys
import os
egg_path = os.path.join(os.path.dirname(__file__), 'dist', 'mydalong-0.1-py3.11.egg')
sys.path.append(egg_path)
from demo import dalong
dalong.login()
  • 文件夹模式
import sys
import os
import glob
egg_path = os.path.join(os.path.dirname(__file__), 'dist/')
egg_files = glob.glob(os.path.join(egg_path, '*.egg'))
for egg in egg_files:
    sys.path.append(egg)
from demo import dalong
dalong.login()

说明

以上只是一个记录,基于egg 文件可以实现方便的python 应用分发运行,以上代码关于import 部分是硬编码的,实际可以结合动态模块加载的机制实现灵活的处理

参考资料

https://setuptools.pypa.io/en/latest/pkg_resources.html
https://docs.python.org/3.11/library/importlib.resources.html#module-importlib.resources

posted on 2024-06-05 21:45  荣锋亮  阅读(41)  评论(0编辑  收藏  举报

导航