Python 无法在ML引擎中导入Google云存储库

Python 无法在ML引擎中导入Google云存储库,python,google-cloud-storage,google-cloud-ml,Python,Google Cloud Storage,Google Cloud Ml,作为在ML引擎中批量处理一些图像的快速解决方案,我正在使用云存储Python库下载这些图像 不幸的是,当作业发送到ML引擎时,库导入失败,堆栈跟踪如下: Traceback(最近一次调用最后一次):文件“/usr/lib/python2.7/runpy.py”,第162行,在运行模块中作为运行主“/uuuuu-main”,fname,loader,pkg-u-name)文件“/usr/lib/python2.7/runpy.py”,第72行,在运行全局文件“/root/.local/lib/py

作为在ML引擎中批量处理一些图像的快速解决方案,我正在使用云存储Python库下载这些图像

不幸的是,当作业发送到ML引擎时,库导入失败,堆栈跟踪如下:

Traceback(最近一次调用最后一次):文件“/usr/lib/python2.7/runpy.py”,第162行,在运行模块中作为运行主“/uuuuu-main”,fname,loader,pkg-u-name)文件“/usr/lib/python2.7/runpy.py”,第72行,在运行全局文件“/root/.local/lib/python2.7/site-packages/trainer/task.py”第1行,从google.cloud导入存储导入错误:无法导入名称存储


我非常确定该库包含在ML引擎映像中(如果没有,那会很奇怪),因此我在这里不知所措,程序在本地运行良好。

容器不包含此包,因为通常使用TensorFlow的模块,该模块与GCS一起工作

两种选择。假设您已经知道如何使用和/或拥有
google.cloud.storage
的代码,您可以将其作为需求添加到
setup.py
文件()中,例如:

from setuptools import find_packages
from setuptools import setup

REQUIRED_PACKAGES = ['google-cloud-storage']

setup(
    name='trainer',
    version='0.1',
    install_requires=REQUIRED_PACKAGES,
    packages=find_packages(),
    include_package_data=True,
    description='My trainer application package.'
)
或者,您可以使用,如果您实际上不需要数据的副本,但希望直接读取数据,这一点尤其有用:

import tensorflow as tf
from tensorflow.python.lib.io import file_io

# Copy
file_io.copy("gs://my-bucket/myfiles/*", "/tmp")

# Glob and read
for file in file_io.get_matching_files("gs://my-bucket/myfiles/*"):
  with file_io.FileIO(file) as f:
    # Do something

最后,请注意,如果您使用的是TensorFlow操作,TensorFlow的读者已经知道如何从GCS读取,因此无需手动操作文件。

非常感谢!当我阅读已经安装的运行时依赖项并看到
gcloud 0.18.3
时,我想我把自己弄糊涂了,我假设它是包含存储功能的Python GCP客户端库。