You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不使用绝对路径直接导入Wheel文件中的依赖模块

方案1:修改打包配置,直接暴露helpers为顶层模块(最优方案)

修改你项目中的setup.py,调整包映射规则,打包时直接将package/utils下的模块作为顶层模块发布:

from setuptools import setup

setup(
    name="your_project_name",
    version="1.0.0",
    # 配置顶层包对应的文件路径
    package_dir={"": "package/utils"},
    # 声明需要打包的顶层模块
    py_modules=["helpers"],
    # 原有其他配置(比如依赖、作者信息等)保持不变
    package_data={
        "": ["config.yml"] # 保留原有的配置文件打包规则
    }
)

重新构建Wheel后安装,即可直接使用import helpers导入模块。

方案2:不调整目录结构,通过模块映射实现导入别名

如果需要保留原有的包结构不变,可以在package目录下的__init__.py中添加如下代码:

from .utils import helpers
import sys
# 将helpers模块注册到顶层模块命名空间
sys.modules["helpers"] = helpers

重新打包Wheel后,只要导入过一次package,就可以直接使用import helpers。

方案3:Glue作业侧临时适配(无需重新打包,适合临时测试)

如果不想修改Wheel包,可以在Glue作业代码的最开头添加如下代码,运行时手动注册模块别名:

import sys
from package.utils import helpers
sys.modules["helpers"] = helpers

# 后续代码可直接导入helpers
import helpers

内容的提问来源于stack exchange,提问作者Geetika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:54:03