含依赖库的Python Wheel包上传Synapse Spark池报错求助
问题解决步骤
先梳理下问题根源和修正方案:
1. 修正setup.py的依赖配置
你的setup.py存在几个关键问题,直接导致了报错和依赖安装异常:
typing和datetime是Python标准库(Python3.10已内置typing.Optional),完全不需要放到依赖声明里- 代码里导入的
delta对应的PyPI包是delta-spark,不是delta,依赖名称写错了 - 你把代码运行必需的依赖放到了
extras_require的dev分组里,这部分依赖只有安装时指定[dev]才会被安装,但你的代码里直接导入了这些库,必须放到install_requires中 pip不需要作为Python包依赖声明,报错里说的是conda环境配置文件里要显式添加pip,不是setup.py里
修改后的setup.py代码:
import setuptools setuptools.setup( name='depackage', version='0.0.1', description="", author='', packages=setuptools.find_packages(), license="MIT", classifiers=[ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.10", "Operating System :: OS Independent", ], install_requires=[ "delta-spark>=2.4.0" # 可指定适配你Synapse Spark版本的delta-spark版本 ], python_requires='>=3.10.0' )
2. 处理conda环境的pip依赖要求
如果你的Synapse Spark池是用conda环境管理依赖的,需要在conda环境配置文件(比如environment.yml)里显式添加pip作为依赖,示例:
name: your-env-name channels: - conda-forge dependencies: - python=3.10 - pip # 显式添加pip依赖 - pip: - depackage-0.0.1-py3-none-any.whl # 你的wheel包路径
3. 重新生成Wheel包
执行命令重新构建wheel:
# 方式1 python setup.py sdist bdist_wheel # 更推荐的方式2 pip install build python -m build
重新上传修改后的wheel包到Synapse Spark池,即可解决报错。
内容的提问来源于stack exchange,提问作者Umer
相关产品推荐
相关产品推荐

