Google App Engine - 大查询 - Python无法找到google.cloud库

Mat*_*ard 7 python google-app-engine pydev google-bigquery

我正在使用Eclipse和PyDev在Ubuntu Linux 16.4上使用Python构建App Engine项目.

我正在使用Flask框架,它工作正常,我想要做的是连接到Big Query,这就是我遇到麻烦的地方.

所以我用过:

pip install --upgrade google-cloud-bigquery
Run Code Online (Sandbox Code Playgroud)

要安装Big Query Library,我可以看到包中的 /usr/local/lib/python2.7/dist-packages

出于某种原因Eclipse似乎并不认为库已注册,我可以忍受,但是当我运行我的项目dev_appserver.py App Engine找不到库时:

我在我的Python PyDev中有这个:

奇怪的是,好像我添加from lib.google.cloud import bigqueryPyDev解析,dist-packages在PyDev路径中,所以我不明白为什么它不能解决它.

您还会注意到我注释掉的apiclient.discoveryoauth2client.client,我会尝试另一种方式,但App Engine的抱怨它找不到SignedJwtAssertionCredentials库,所以我敢肯定这是所有链接,并通过同样的问题引起的.

在我的appengine_config.py身上:

App Engine配置

Bra*_*iam 0

如果您想使用未包含在此列表中的第三方库,则必须手动添加它们。

\n\n

为了手动包含任何其他库,您必须将它们放在 app.yaml 所在的目录中。例如,如果您有以下结构:

\n\n
hello\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 libs\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 bs4 \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 hello.py \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 app.yaml\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后在 hello.py 中,您必须将这两行放在文件的开头:

\n\n
import sys\nsys.path.insert(0, \'libs\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

完成此操作后,您将能够使用要放入该 libs 目录中的任何第三方库。例如:

\n\n
from bs4 import BeautifulSoup\n
Run Code Online (Sandbox Code Playgroud)\n