由于依赖项冲突(Python 3),无法在我们的 python 应用程序(Google Cloud Platform)中安装 google-api-core 包
Posted
技术标签:
【中文标题】由于依赖项冲突(Python 3),无法在我们的 python 应用程序(Google Cloud Platform)中安装 google-api-core 包【英文标题】:Cannot install google-api-core package in our python app (Google Cloud Platform) due to conflicting dependencies (Python 3) 【发布时间】:2021-08-25 02:05:15 【问题描述】:当我尝试安装 Google Core API 包时,该包的每个不同版本都会出现错误。该应用程序在 Python 3 中运行,我得到以下日志:
The user requested google-api-core==1.21.0
google-cloud-core 1.4.3 depends on google-api-core<2.0.0dev and >=1.19.0
google-api-core[grpc,grpcgcp] 1.29.0 depends on google-api-core 1.29.0
ERROR: Cannot install -r requirements.txt (line 52) and google-api-core[grpc,grpcgcp]==1.14.0 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
The command '/bin/sh -c pip3 install -r requirements.txt' returned a non-zero code: 1
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: step exited with non-zero status: 1
我们想在谷歌云平台上安装这个包。 有人可以帮我解决冲突的依赖问题吗?
我们尝试了以下软件包,但它们都不起作用。
#google-api-core==1.29.0
#google-api-core[grpc,grpcgcp]==1.14.0
#google-api-core==1.23.0
# google-api-core==1.19.0
# google-api-python-client==1.9.3
# google-auth==1.30.0
# google-auth-httplib2==0.0.4
# google-auth-oauthlib==0.4.1
# google-cloud==0.34.0
# google-cloud-bigquery==1.25.0
# google-cloud-bigquery-storage==2.0.1
# google-cloud-bigtable==1.2.1
# google-cloud-core #==1.4.3
# google-cloud-datastore==1.12.0
# google-cloud-language==2.0.0
# google-cloud-logging==1.15.0
# google-cloud-pubsub==2.1.0
# google-cloud-resource-manager==0.30.2
# google-cloud-scheduler==2.2.0
# google-cloud-secret-manager==2.0.0
# google-cloud-spanner==1.19.1
# google-cloud-storage==1.29.0
# google-cloud==0.34.0
# google-auth==1.22.1
#grpc-google-iam-v1==0.12.3
#grpcio==1.29.0
# google-resumable-media
所有其他相关的包版本如下,它们正在工作:
google-api-core==1.21.0
google-api-python-client==1.6.7
google-auth==1.30.0
google-auth-httplib2==0.0.4
google-auth-oauthlib==0.4.1
google-cloud
google-cloud-bigquery
google-cloud-bigquery-storage==2.0.1
google-cloud-bigtable==1.2.1
google-cloud-core==1.4.3
google-cloud-datastore==1.12.0
google-cloud-language==2.0.0
google-cloud-logging==1.15.0
google-cloud-pubsub==1.7.0
google-cloud-resource-manager==0.30.2
google-cloud-scheduler==2.0.0
google-cloud-secret-manager==2.0.0
google-cloud-spanner==1.19.1
google-cloud-storage==1.29.0
google-cloud-translate==3.0.1
google-cloud-videointelligence==1.16.0
google-cloud-vision==2.0.0
google-crc32c==1.0.0
google-pasta==0.2.0
googleapis-common-protos==1.52.0
感谢您的时间和支持!
【问题讨论】:
某些 Google Python 库的最新版本不适用于 Python 2。 感谢您的回答!我认为我们的代码是在 Python 3 上运行的。你对此有什么见解吗?谢谢! 【参考方案1】:将这些步骤写在您的requirements.txt
文件中:
google-api-core==1.29.0
google-api-core[grpc,grpcgcp]==1.14.0
google-api-python-client==1.9.3
google-auth==1.30.0
google-auth-httplib2==0.0.4
google-auth-oauthlib==0.4.1
google-cloud==0.34.0
google-cloud-bigquery==1.25.0
google-cloud-bigquery-storage==2.0.1
google-cloud-bigtable==1.2.1
google-cloud-core ==1.4.3
google-cloud-datastore==1.12.0
google-cloud-language==2.0.0
google-cloud-logging==1.15.0
google-cloud-pubsub==2.1.0
google-cloud-resource-manager==0.30.2
google-cloud-scheduler==2.2.0
google-cloud-secret-manager==2.0.0
google-cloud-spanner==1.19.1
google-cloud-storage==1.29.0
google-cloud==0.34.0
grpc-google-iam-v1==0.12.3
grpcio==1.29.0
google-resumable-media
创建一个虚拟环境,然后安装依赖项。这样做的步骤是:
python3 -m venv env
source env/bin/activate
pip list
pip install -r requirements.txt
【讨论】:
您好 Akshansha,非常感谢您的回复!但是,当我尝试这样做时,出现以下错误:“错误:无法安装 -r requirements.txt(第 90 行)、-r requirements.txt(第 95 行)、-r requirements.txt(第 98 行)、google- api-core==1.29.0 和 google-api-core[grpc,grpcgcp]==1.14.0 因为这些包版本具有冲突的依赖关系。”你能帮我解决这个问题吗?虽然向前迈出了一大步!再次感谢! 我在最近的回答中添加了解决方法。希望有帮助!【参考方案2】:尝试使用以下requirements.txt
文件。我用过同样的,它对我来说很好用。
【讨论】:
仍然出现错误。错误:无法安装 -r requirements.txt(第 51 行)、-r requirements.txt(第 55 行)、google-api-core、google-api-core[grpc,grpcgcp]==1.14.0、google-api-核心[grpc,grpcgcp]==1.14.1, google-api-core[grpc,grpcgcp]==1.14.2, google-api-core[grpc,grpcgcp]==1.14.3, google-api-core[ grpc,grpcgcp]==1.15.0, google-api-core[grpc,grpcgcp]==1.16.0... 因为这些包版本有冲突的依赖关系。以上是关于由于依赖项冲突(Python 3),无法在我们的 python 应用程序(Google Cloud Platform)中安装 google-api-core 包的主要内容,如果未能解决你的问题,请参考以下文章
如果依赖项中存在无法解决的冲突,则 Pip 安装会陷入无限循环