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

如何在Python的setup.py中引入本地.zip格式依赖包?

如何在setup.py中配置本地zip格式依赖包

针对你的场景,要把本地的StreamingDataReader.zip纳入Python包的安装流程,有两种靠谱的方案,下面结合你的项目结构逐一说明:

方案1:使用PEP 508兼容的本地依赖写法(推荐,适用于pip≥19.0)

这种方式是当前官方推荐的写法,不需要额外命令行参数,只要你的pip版本在19.0及以上就能直接用。

修改你的setup.py,加入对本地zip包的引用,代码如下:

from setuptools import setup, find_packages
import os

# 获取zip包的绝对路径,避免相对路径带来的工作目录问题
zip_dep_path = os.path.abspath("vendor/dependencies/StreamingDataReader.zip")

setup(
    name="myproject",
    version="0.1.0",
    packages=find_packages(),
    install_requires=[
        # 用PEP 508格式指定本地依赖
        f"StreamingDataReader @ file://localhost/{zip_dep_path}"
    ]
)

安装方式

直接在项目根目录执行:

pip install .

如果你的pip版本低于19.0,先升级pip:

pip install --upgrade pip

方案2:使用dependency_links(兼容旧环境,不推荐新项目使用)

这个方式依赖dependency_links参数,不过在新版setuptools和pip中已被标记为弃用,但如果你的项目需要兼容旧环境,可以尝试:

修改setup.py如下:

from setuptools import setup, find_packages
import os

zip_dep_path = os.path.abspath("vendor/dependencies/StreamingDataReader.zip")

setup(
    name="myproject",
    version="0.1.0",
    packages=find_packages(),
    install_requires=[
        "StreamingDataReader"  # 声明依赖包名称
    ],
    dependency_links=[
        # 指定本地zip包的绝对路径
        f"file:///{zip_dep_path}"
    ]
)

安装方式

安装时需要加上--process-dependency-links参数,让pip处理依赖链接:

pip install . --process-dependency-links

注意事项

  • 确保你的StreamingDataReader.zip本身是一个可安装的Python包:zip包内部应该包含setup.py、pyproject.toml或者符合Python包结构的内容,否则安装会失败。
  • 使用绝对路径可以避免安装时因工作目录不同导致的路径问题,所以代码里用os.path.abspath获取路径是很有必要的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:33:06