gpt4 book ai didi

python-2.7 - 使用 google.cloud import bigquery 时没有名为 cloud 的模块

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:05 26 4
gpt4 key购买 nike

我已经构建了一个应用引擎应用程序来使用谷歌应用引擎启动器将数据加载到 bigquery 表中,但是当我在本地主机或云上运行它时,我在使用 google.cloud import bigquery 时得到了 No module named cloud 错误消息日志文件。我已经安装了谷歌云客户端库,但它仍然给我同样的错误。请看下面我正在使用的代码

---main.py文件包含

import argparse
import time
import uuid

from google.cloud import bigquery

def load_data_from_gcs(dataset_name, table_name, source):
bigquery_client = bigquery.Client()
dataset = bigquery_client.dataset(dataset_name)
table = dataset.table(table_name)
job_name = str(uuid.uuid4())

job = bigquery_client.load_table_from_storage(
job_name, table, source)

job.begin()

wait_for_job(job)

print('Loaded {} rows into {}:{}.'.format(
job.output_rows, dataset_name, table_name))


def wait_for_job(job):
while True:
job.reload()
if job.state == 'DONE':
if job.error_result:
raise RuntimeError(job.error_result)
return
time.sleep(1)


if __name__ == '__main__':
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('Test')
parser.add_argument('mytable')
parser.add_argument('gs://week/geninfo.csv')

args = parser.parse_args()

load_data_from_gcs(
args.dataset_name,
args.table_name,
args.source)

--app.yaml文件包含以下代码

application: mycloudproject
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico

- url: .*
script: main.app

请让我知道缺少什么或者我在这里做错了什么?

最佳答案

这可能有点棘手。 Google Cloud 使用新的 Python 命名空间格式(如果您查看源代码,您会发现目录结构中没有 __init__.py)。

这在 Python 3.3 中已更改为 PEP-420

幸运的是,在 Python 2.7 中,您可以通过避免隐式导入轻松解决此问题。只需将其添加到文件顶部即可:

从 __future__ 导入 absolute_import

希望对您有所帮助。

关于python-2.7 - 使用 google.cloud import bigquery 时没有名为 cloud 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40469762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com