将`snowflake-connector-python`安装到GCP Cloud Composer时出错

问题描述

我正在尝试在Cloud Composer环境中使用安装sNowflake-connector-python,但一直收到UI中弹出的错误:“无法安装PyPI软件包。请查看Cloud Build日志以获取详细信息”。构建日志似乎并不过分有用,而且很长,因此我仅在此处显示一些值得注意的内容

这是安装sNowflake-connector-python及其依赖项后显示的警告。

Installing collected packages: pycryptodomex,asn1crypto,oscrypto,jmespath,botocore,s3transfer,boto3,isodate,msrest,azure-core,azure-storage-blob,azure-common,sNowflake-connector-python
Successfully installed asn1crypto-1.4.0 azure-common-1.1.25 azure-core-1.8.1 azure-storage-blob-12.5.0 boto3-1.14.63 botocore-1.17.63 isodate-0.6.0 jmespath-0.10.0 msrest-0.6.19 oscrypto-1.2.1 pycryptodomex-3.9.8 s3transfer-0.3.3 sNowflake-connector-python-2.3.2
+ [[ -z fail ]]
+ python3 -m pipdeptree --warn fail
Warning!!! Possibly conflicting dependencies found:
* botocore==1.17.63
 - docutils [required: >=0.10,<0.16,installed: 0.16]

这是最终的错误通知

The command '/bin/sh -c bash installer.sh $COMPOSER_PYTHON_VERSION  fail' returned a non-zero code: 1
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" Failed: step exited with non-zero status: 1

我正在区域composer-1.12.1-airflow-1.10.10中运行图像us-central1-c,并且正在使用python3。我尝试安装不同版本的程序包没有任何运气,并且尝试通过UI和通过gcloud。任何有关此问题根源的帮助将不胜感激!

解决方法

我尝试尝试安装snowflake-connector-python的旧版本,但这没用。

最终起作用的是将docutils==0.15添加到要安装的软件包列表中。这修复了依赖性冲突警告,并导致构建成功。

以前,我已经收到了导致成功构建的依赖冲突警告。但是对于这种情况,我实际上需要解决该冲突。

,

nate的答案对我不起作用,PyPi软件包安装在CloudBuild中成功,但是Web服务器无法更新并回滚安装软件包。

为使此工作正常进行,我们不得不将Composer降级到9月发行的docutils == 0.15.2。随附的版本。

我们使用的图像是 composer-1.12.1-airflow-1.10.9 ,似乎气流1.10.10或更高版本中的任何图像都带有docutils == 0.16的问题。作为标准。您可以使用此link并展开“ PyPi软件包”列来查看图像中包含的docutils版本。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...