使用dash-tools与Render部署Dash应用时遇docopt安装错误求助
解决Render部署Dash应用时docopt安装失败的问题
问题场景
本地运行正常的Dash应用,通过dash-tools GUI部署到Render平台时,出现docopt安装失败的错误,核心报错信息:
Running setup.py install for docopt: finished with status 'error'
ERROR: Command errored out with exit status 1:
完整错误命令日志:
ERROR: Command errored out with exit status 1: /opt/render/project/src/.venv/bin/python3.10 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-l33hk2m0/docopt_91ee242022d24b6db837ce28e9c030c2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-l33hk2m0/docopt_91ee242022d24b6db837ce28e9c030c2/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-fq9i3dba/install-record.txt --single-version-externally-managed --compile --install-headers /opt/render/project/src/.venv/include/site/python3.10/docopt Check the logs for full command output.
同时伴随pip版本警告:
WARNING: You are using pip version 21.2.3; however, version 24.3.1 is available.
解决方案
升级pip版本
Render默认pip版本过旧,导致依赖安装兼容性问题。在requirements.txt开头添加:pip>=24.3.1或者修改Render的构建命令,先升级pip再安装依赖:
pip install --upgrade pip && pip install -r requirements.txt替换docopt为维护分支docopt-ng
原版docopt已停止维护,不兼容Python 3.10+。将requirements.txt中的docopt替换为:docopt-ng>=0.9.0本地测试应用正常运行后,重新部署。
升级dash-tools到最新版本
旧版dash-tools可能依赖过时的docopt,执行以下命令升级:pip install --upgrade dash-tools重新生成部署配置后再推送至Render。
统一Python版本
在项目根目录创建runtime.txt文件,指定与本地一致的Python版本:python-3.10.13避免Render使用的Python版本与开发环境存在兼容性差异。
内容的提问来源于stack exchange,提问作者kavm
相关产品推荐
相关产品推荐

