我有一個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