google-cloud依赖性在python应用程序引擎中被覆盖

时间:2018-09-25 10:09:12

标签: python google-app-engine google-bigquery google-cloud-pubsub google-cloud-python

我们正在使用GAE标准,并且根据google文档,我们期望使用pip install requirement-name -t lib/在某些文件夹中供应商依赖项。

我们想在同一GAE项目中同时使用BigQuerypub-sub,但我认为这并不是一个非常罕见的组合。

现在,问题是一次我们只能安装一个客户端库,因为这两个共享库都共享google>cloud命名空间,无论以后安装的哪个命名空间都将覆盖以前的依赖关系。

屏幕截图:-

1) 仅安装BigQuery客户端库 :-

only GBQ dependency screenshot

2)安装pip install -t lib/ google-cloud-pubsub

after installing pubsub

相同的问题和解决方案是什么?

更新:-

进一步尝试在虚拟环境中安装这两个依赖项,而无需在lib/文件夹中销售,这两个依赖项都在安装时不会互相覆盖。看来问题出在文件夹中的供应商。

相同的屏幕快照,没有供应商依赖性。

enter image description here

1 个答案:

答案 0 :(得分:3)

您应该在单个命令中安装所有依赖项:

$ pip install -t lib/ google-cloud-bigquery google-cloud-pubsub

这将同时安装两个软件包:

$ ls lib/google/cloud
__pycache__  _testing.py  environment_vars.py  obsolete.py   pubsub_v1
_helpers.py  bigquery     exceptions.py        operation.py
_http.py     client.py    iam.py               pubsub.py

从需求文件安装依赖项应具有相同的效果:

$ cat requirements.txt
google-cloud-bigquery
google-cloud-pubsub
$ pip install -t lib/ -r requirements.txt

确保以空白的lib/文件夹和最新版本的pip开头:

pip install -U pip