问题描述
我正在尝试在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版本。