我有一个Python项目结构如下:适当的模块包装CloudML
- 项目/包含:
- setup.py;项目/ 内部项目/文件夹包含init .py空文件,具有子模块的文件夹,仅包含.yaml文件(例如foo.yaml)和s_main.py脚本(我的主入口点)的conf /文件夹
这是我的setup.py文件:
from setuptools import setup, find_packages
NAME = 'project'
package_data = {'':['conf/*.yaml','*.yaml'],'project':['conf/*.yaml']}
if __name__ == '__main__':
setup(
name=NAME,
version=1.0,
description='Foo',
author='someone',
author_email='[email protected]',
packages=find_packages(),
include_package_data=True,
package_data=package_data,
zip_safe=False)
当我尝试“点子安装工程/”它工作在我的电脑很好,我看到在我所有的* .yaml文件的conf /文件夹[/ PHP的]/python2.7/site-packages/project/conf/ 当我在本地运行cloudML时,它也可以。我使用以下命令:
gcloud ml-engine local train \
--package-path=path_to_project_module \
--module-name=project.s_main \
--distributed \
-- \
conf/myConf.yaml \
conf/myParams.yaml
但是,当我在cloudML上运行它时,它不起作用。我运行下面的命令:
gcloud ml-engine jobs submit training JOB_100 \
--package-path=path_to_project_module \
--module-name=project.s_main \
--staging-bucket=myBucket \
--region=europe-west1 \
--config=mlConfig_file \
-- \
conf/myConf.yaml \
conf/myParams.yaml
日志清楚地表明,通过conf /目录,就从未纳入内置封装,因为预期的* .yaml文件没有发现我的运行失败。 有什么想法?
由于某些奇怪的原因,当我将'include_package_data'设置为False时,它工作正常! – ma3oun