Google App Engine部署Panel应用遇依赖包版本匹配问题求助
解决Google App Engine Flex环境部署依赖包问题的方案
一、处理"Could not find a version that satisfies the requirement"错误
锁定兼容Python 3.7的包版本
不要盲目降级,直接导出本地Anaconda环境中实际运行的包版本(过滤Anaconda专属基础包)替换现有requirements.txt。在本地激活项目环境后执行:pip freeze > requirements.txt手动删除文件中
conda-开头等Anaconda专属包,只保留项目依赖的第三方包。用--no-deps规避依赖冲突
对Panel这类依赖复杂的包,在requirements.txt中添加参数强制只安装指定版本,再手动补充兼容的必需依赖:panel==0.14.3 --no-deps bokeh==2.4.3 param==1.12.0
二、解决polygonscan-python==1.0.2无法获取的问题
直接指定Git仓库地址
若该版本在PyPI源缺失,找到其托管的Git仓库,在requirements.txt中写入:git+https://github.com/[仓库所有者用户名]/polygonscan-python.git@v1.0.2#egg=polygonscan-python替换占位符后,GAE部署时会自动拉取指定版本。
配置自定义PyPI源
若包存在于第三方PyPI源,在项目根目录创建pip.conf:[global] extra-index-url = https://pypi.org/simple/ https://[自定义源地址]/simple/再在
app.yaml中添加配置让GAE加载该文件:runtime: python env: flex runtime_config: python_version: 3.7 env_variables: PIP_CONFIG_FILE: /app/pip.conf
三、部署额外注意事项
- 确保
app.yaml中明确指定Python 3.7版本,配置示例如上; requirements.txt中禁止包含本地包或Anaconda虚拟环境路径,所有依赖必须可通过网络获取。
内容的提问来源于stack exchange,提问作者kez
相关产品推荐
相关产品推荐

