机器学习引擎 Python 版本问题

ML Engine Python Version Issue

在经历 flower classification tutorial 时,我 运行 遇到了 python 问题。尝试 运行 培训师使用命令

预处理脚本
python trainer/preprocess.py \
    --input_dict "$DICT_FILE" \
    --input_path "gs://cloud-ml-data/img/flower_photos/eval_set.csv" \
    --output_path "${GCS_PATH}/preproc/eval" \
    --cloud

我收到以下错误;

Traceback (most recent call last):
  File "trainer/preprocess.py", line 71, in <module>
    import apache_beam as beam
  File "/Users/some_guy/Documents/Programs/ML/cmle-env/lib/python3.6/site-packages/apache_beam/__init__.py", line 72, in <module>
    'It is not supported on Python [%s].' % sys.version_info)
TypeError: not all arguments converted during string formatting

这听起来像是我的 (virtualenv?) 路径有误 python。

python -V returns

Python 3.6.3 :: Anaconda, Inc.

这可能是错误的,因为我的 cmle-env 已激活(它在我的终端提示符前),所以我认为 cmle-env 会知道要使用的正确 python 版本,以便我不 运行 陷入依赖性问题。我一字不差地按照教程说明进行操作,并且之前的 census data tutorial 工作得很好(在同一个 gcloud 项目中)。

我对 gcloudvirtualenv 很陌生,所以也许我错过了一些东西(例如 python -V returns anaconda 3.6,它在我的主机上,我认为与激活的 cmle-env) 没有任何关系。

TLDR:如何让我的 cmle-env 使用正确的 python 版本,以便我可以 运行 花卉教程培训师?我真的很想继续 - 除了 python 问题之外,这些都很棒。

这是在 MacOS High Sierra 10.13.3

上 运行

这是 Apache Beam 中的一个错误,一年前已修复:https://github.com/apache/beam/commit/30b5fe552cbf40a6914d327ac5455394ee615493

确保在使用 --python-p 选项创建 virtualenv 时指定所需的 python 版本,如:

$ virtualenv -p /path/to/python2.7 cmle-env