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   荣锋亮  阅读(66)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2023-06-05 arroyo 0.3.0 新特性
2022-06-05 nchan 火焰图学习
2022-06-05 基于nchan 开发消息服务的一些核心知识点
2022-06-05 基于nchan 构建可靠的websocket 服务
2020-06-05 基于纯真ip库以及openresty 模仿实现类似搜狐ip获取区域的服务
2019-06-05 puppeteer 试用
2019-06-05 My journey introducing the data build tool (dbt) in project’s analytical stacks

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示