在经历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
返回
Python 3.6.3 :: Anaconda, Inc.
这可能是错误的,因为我的cmle-env
被激活(它在我的终端提示符前面加上),所以我认为cmle-env
会知道正确使用的python版本,所以我不会遇到依赖问题。我逐字地按照教程说明进行操作,并且之前的census data tutorial工作得很好(在同一个gcloud
项目中)。
我对gcloud
和virtualenv
都很陌生,所以也许我错过了一些东西(例如python -V
返回anaconda 3.6
很奇怪,这是在我的主持人身上我不知道认为与激活的cmle-env
有任何关系。
TLDR:如何让我的cmle-env
使用正确的python版本,以便我可以运行花教程培训师?我真的想继续 - 除了python问题之外,这些都很棒。
这是在MacOS High Sierra 10.13.3上运行
答案 0 :(得分:1)
它是Apache Beam中的一个错误,它在一年前修复:https://github.com/apache/beam/commit/30b5fe552cbf40a6914d327ac5455394ee615493
答案 1 :(得分:0)
确保在使用--python
或-p
选项创建virtualenv时指定所需的python版本,如:
$ virtualenv -p /path/to/python2.7 cmle-env