没有名为 trainer 的模块
No module named trainer
我有一个非常简单的训练器,它遵循示例目录结构:
/dist
__init__.py
setup.py
/trainer
__init__.py
task.py
/dist目录下,本地运行正常:
$ gcloud ml-engine local train
--package-path=trainer
--module-name=trainer.task
现在,当尝试部署它时,在 /dist 目录下和这个命令:
$ gcloud ml-engine jobs submit training testA
--package-path=trainer
--module-name=trainer.task
--staging-bucket=$JOB_DIR
--region us-central1
它给我一个错误"No moduled name trainer"
INFO 2017-04-13 12:28:35 -0700 master-replica-0 Installing collected packages: pyyaml, scipy, scikit-learn, trainer
INFO 2017-04-13 12:28:38 -0700 master-replica-0 Successfully installed pyyaml-3.12 scikit-learn-0.18.1 scipy-0.18.1 trainer-0.1
INFO 2017-04-13 12:28:38 -0700 master-replica-0 Running command: python -m trainer.task
ERROR 2017-04-13 12:28:38 -0700 master-replica-0 /usr/bin/python: No module named trainer
编辑:
这是setup.py
的内容
from setuptools import find_packages
from setuptools import setup
REQUIRED_PACKAGES = [
'pyyaml',
'scipy==0.18.1',
'scikit-learn'
]
setup(
name='trainer',
version='0.1',
install_requires=REQUIRED_PACKAGES,
include_package_data=True,
description='Classifier test'
)
我做错了什么?
谢谢,
男
您在 setup.py 中遗漏了重要的一行,即 setup
函数调用的 packages
参数(参见 these instructions)。试试这个:
from setuptools import find_packages
from setuptools import setup
REQUIRED_PACKAGES = ['pyyaml','scipy==0.18.1','scikit-learn']
setup(
name='trainer',
version='0.1',
install_requires=REQUIRED_PACKAGES,
packages=find_packages(),
include_package_data=True,
description='Classifier test'
)
我已经更新了 CloudML 引擎 docs(传播可能需要几天时间)。
我使用 --package-path=trainer
和上述更改复制了您的命令,并且 运行 在云中正常运行。
最后,虽然无害,dist/
中的__init__.py
是不必要的,可以安全地删除。
我有一个非常简单的训练器,它遵循示例目录结构:
/dist
__init__.py
setup.py
/trainer
__init__.py
task.py
/dist目录下,本地运行正常:
$ gcloud ml-engine local train
--package-path=trainer
--module-name=trainer.task
现在,当尝试部署它时,在 /dist 目录下和这个命令:
$ gcloud ml-engine jobs submit training testA
--package-path=trainer
--module-name=trainer.task
--staging-bucket=$JOB_DIR
--region us-central1
它给我一个错误"No moduled name trainer"
INFO 2017-04-13 12:28:35 -0700 master-replica-0 Installing collected packages: pyyaml, scipy, scikit-learn, trainer
INFO 2017-04-13 12:28:38 -0700 master-replica-0 Successfully installed pyyaml-3.12 scikit-learn-0.18.1 scipy-0.18.1 trainer-0.1
INFO 2017-04-13 12:28:38 -0700 master-replica-0 Running command: python -m trainer.task
ERROR 2017-04-13 12:28:38 -0700 master-replica-0 /usr/bin/python: No module named trainer
编辑: 这是setup.py
的内容from setuptools import find_packages
from setuptools import setup
REQUIRED_PACKAGES = [
'pyyaml',
'scipy==0.18.1',
'scikit-learn'
]
setup(
name='trainer',
version='0.1',
install_requires=REQUIRED_PACKAGES,
include_package_data=True,
description='Classifier test'
)
我做错了什么?
谢谢,
男
您在 setup.py 中遗漏了重要的一行,即 setup
函数调用的 packages
参数(参见 these instructions)。试试这个:
from setuptools import find_packages
from setuptools import setup
REQUIRED_PACKAGES = ['pyyaml','scipy==0.18.1','scikit-learn']
setup(
name='trainer',
version='0.1',
install_requires=REQUIRED_PACKAGES,
packages=find_packages(),
include_package_data=True,
description='Classifier test'
)
我已经更新了 CloudML 引擎 docs(传播可能需要几天时间)。
我使用 --package-path=trainer
和上述更改复制了您的命令,并且 运行 在云中正常运行。
最后,虽然无害,dist/
中的__init__.py
是不必要的,可以安全地删除。