我有一个 Python 项目,其结构如下:
- 项目/包含:
- 设置.py;project/ 内部 project/ 文件夹包含一个init .py 空文件、带有子模块的文件夹、一个仅包含 .yaml 文件(例如 foo.yaml)的 conf/ 文件夹和一个 s_main.py 脚本(我的主要入口点)
这是我的 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='a@b.com',
packages=find_packages(),
include_package_data=True,
package_data=package_data,
zip_safe=False)
当我尝试“pip install project/”时,它在我的 PC 上运行良好,我在 [...]/python2.7/site-packages/project/conf/ 中看到 conf/ 文件夹和我的所有 *.yaml 文件在本地运行 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 文件。任何想法?