如何确保Pip在Digital Ocean平台安装dist-info而非egg-info
解决DigitalOcean App Platform安装私有Git包时优先使用Wheel的问题
核心问题分析
你的问题出在DigitalOcean App Platform的构建环境默认优先选择源码安装(生成egg-info),而非预构建的Wheel包,且环境可能缺少构建Wheel的必要依赖,导致终端显示安装了0.9.6版本,但实际部署的是仓库中残留的旧egg-info文件。
具体解决步骤
1. 清理并重新构建私有包的Wheel文件
本地执行以下命令,确保生成正确版本的Wheel包并清理旧文件:
# 更新构建工具 python -m pip install --upgrade setuptools wheel # 删除旧构建产物和缓存 rm -rf dist/ build/ *.egg-info # 重新生成源码包和Wheel包 python setup.py sdist bdist_wheel
完成后,删除Git仓库中旧的dist/、build/和*.egg-info目录,将新生成的dist/文件夹(包含.whl文件)、setup.py等核心文件推送到GitHub仓库。
2. 修改pip安装命令强制使用Wheel
在部署配置(如requirements.txt或构建脚本)中,使用以下命令强制pip仅安装Wheel包:
pip install --only-binary :all: --no-cache-dir git+https://{username}:{authentication}@github.com/{repo owner}/{package}
--only-binary :all:限制pip仅使用预构建的Wheel包,禁止源码安装--no-cache-dir彻底避免缓存的旧版本干扰
3. 配置DigitalOcean构建环境的依赖
如果需要在DO环境中实时构建Wheel(而非预上传),在App Platform的「Build Command」中添加前置命令,确保构建工具齐全:
pip install --upgrade setuptools wheel && 【你的原有安装命令】
4. 验证安装结果
在部署脚本末尾添加验证命令,确认版本正确:
pip show {你的包名} | grep Version
若输出为Version: 0.9.6,说明安装生效;若仍为旧版本,检查Git仓库是否残留旧的版本文件或egg-info目录。
内容的提问来源于stack exchange,提问作者ControltheAI
相关产品推荐
相关产品推荐

