GCP:PYTHONPATH在" gcloud ml-engine本地火车"运行程序时搞砸了。

时间:2017-07-25 09:37:23

标签: python google-cloud-ml-engine

这是我的项目结构:

└──myfolder
    └──myproject
        ├── __init__.py
        ├── tester.py
        ├── learners
        │   ├── __init__.py
        │   ├── bag_learner.py
        │   ├── dqn_learner.py
        │   ├── q_learner.py
        │   ├── q_learner.pyc
        │   ├── stock_dqn_learner.py
        │   ├── stock_q_base_learner.py
        │   └── stock_q_learner.py
        └── utility
            ├── __init__.py
            ├── analysis.py
            └── util.py

我通常在python tester.py目录下运行myproject程序。

现在我尝试通过gcp命令运行此程序。我做的是移动到myfolder目录并按gcloud ml-engine local train --module-name=myproject.tester --package-path=myproject运行程序。但它发生了一个错误:

  File "myproject/learners/q_learner.py", line 6, in <module>
    from utility import *
ImportError: No module named utility

我认为该程序无法将myproject目录识别为PYTHONPATH。所以我将目录更改为myproject,并按gcloud ml-engine local train --module-name=tester --package-path=./运行程序。但它也发生了一个错误:

/Users/Chois/.pyenv/versions/2.7.13/bin/python2: No module named tester

我该如何处理?

1 个答案:

答案 0 :(得分:1)

您的导入是否可能是:

import myproject.utility as utility

然后沿着您所在的路径前进,以myfolder作为工作目录执行gcloud命令。