Das ist meine Projektstruktur:GCP: PYTHONPATH vermasselte, wenn Programm läuft durch „gcloud ml-Motor Nahverkehrszug“
└──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
ich in der Regel laufe Programm von python tester.py
bei myproject
Verzeichnis.
Jetzt versuche ich, dieses Programm über gcp
Befehl auszuführen. Was ich tat, war, zu myfolder
Verzeichnis zu gehen und Programm durch gcloud ml-engine local train --module-name=myproject.tester --package-path=myproject
laufen zu lassen. Aber es ist ein Fehler aufgetreten:
File "myproject/learners/q_learner.py", line 6, in <module>
from utility import *
ImportError: No module named utility
Ich dachte, dass Programm nicht myproject
Verzeichnis als PYTHONPATH
erkennen konnte. Also habe ich das Verzeichnis in myproject
geändert und führe das Programm unter gcloud ml-engine local train --module-name=tester --package-path=./
aus. aber es trat auch einen Fehler:
/Users/Chois/.pyenv/versions/2.7.13/bin/python2: No module named tester
Wie kann ich damit umgehen?