将"雪花连接器python"安装到GCP Cloud Composer时出错



我正试图将snowflake-connector-python安装到Cloud Composer环境中,但一直收到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

我正在us-central1-c区域中运行映像composer-1.12.1-airflow-1.10.10,并且正在使用python 3。我尝试过安装不同版本的软件包,但没有成功,我尝试过通过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或以上的任何图像似乎都有这个问题,因为它们的标准文档为==0.16。您可以通过使用此链接并展开PyPi packages列来查看图像中的docutils版本。

最新更新