GAE/P3依赖冲突



我有一个GAE标准Python 3应用程序。

gcloud app deploy app.yaml --project XXX

和我的requirements.txt:

Werkzeug==1.0.1
Flask==1.1.2
Flask-Login==0.5.0
Flask-WTF==0.14.3
google-cloud-ndb==1.10.5
google-cloud-tasks==2.6.0
firebase-admin==5.0.3

我现在得到这个错误:

Updating service [default]...
WARNING: Found incompatible dependencies: 
google-cloud-datastore 1.15.3 has requirement google-api-core[grpc]<2.0.0dev,>=1.14.0, but you have google-api-core 2.1.1.
google-cloud-core 1.7.2 has requirement google-api-core<2.0.0dev,>=1.21.0, but you have google-api-core 2.1.1.
google-cloud-core 1.7.2 has requirement google-auth<2.0dev,>=1.24.0, but you have google-auth 2.3.0.

虽然我的应用程序似乎是工作,我想摆脱这些错误,以防万一。

我的Mac上没有这些错误,也不需要google-api-core 2.1.1。

pipdeptree | fgrep api-core的输出为:

- google-api-core [required: >=1.22.1,<3.0.0dev, installed: 1.31.3]
- google-api-core [required: >=1.21.0,<3.0.0dev, installed: 1.31.3]
- google-api-core [required: >=1.26.0,<3.0.0dev, installed: 1.31.3]
- google-api-core [required: >=1.21.0,<2.0.0dev, installed: 1.31.3]
- google-api-core [required: >=1.29.0,<3.0dev, installed: 1.31.3]
- google-api-core [required: >=1.21.0,<2.0.0dev, installed: 1.31.3]
- google-api-core [required: >=1.14.0,<2.0.0dev, installed: 1.31.3]
- google-api-core [required: >=1.21.0,<2.0.0dev, installed: 1.31.3]
- google-api-core [required: >=1.26.0,<3.0.0dev, installed: 1.31.3]

My requirements.txt如下所示。

是否有google-cloud-ndb, google-cloud-tasks和firebase-admin的版本组合在一起工作?

requirements.txt中没有显式设置版本号时,系统将安装最新版本。有时,一个包的最新版本与另一个包不兼容。

在您的项目中,google-api-core 2.1.1是自动安装的,但您的google-cloud-datastore版本需要比2.0.0低的东西,但至少需要1.14.0。同样的逻辑也适用于与google-cloud-core 1.7.2相关的警告。

要解决这个问题,您应该使用警告消息中提供的版本范围显式地设置上述包的版本号。你必须选择对你有用的东西。例如,您可以在requirements.txt文件中添加google-api-core 1.14.0,但前提是您的代码中没有任何功能需要更高版本中的功能。

修复google-api-coregoogle-auth的版本可以消除版本不兼容。看起来这些库的版本2有很多变化(几个月前还是新的),而且firebase还没有跟上,所以我修复了最新的版本1。*版本。

这是一个使用最新库的requirements.txt:

Werkzeug==1.0.1
Flask==1.1.2
Flask-Login==0.5.0
Flask-WTF==0.14.3
google-api-core==1.31.5   # Avoid conflicts
google-auth==1.35.0       # Avoid conflicts
google-cloud-ndb==1.11.1
google-cloud-tasks==2.7.1
firebase-admin==5.2.0

我希望pip能解决这个问题…

相关内容

  • 没有找到相关文章

最新更新