Google Cloud ML中setup.py未执行,依赖包无法安装求助
问题分析与解决方案
我注意到你的setup.py里存在两个关键问题,直接导致了依赖包无法正确安装,进而引发本地运行报错和云端训练任务失败:
1. install_requires参数格式错误
你的setup.py中写了:
install_requires=[REQUIRED_PACKAGES],
但REQUIRED_PACKAGES本身已经是一个列表,这样传递会形成嵌套列表,setuptools无法正确解析这个格式,自然无法完成依赖安装。你需要去掉外层方括号,直接传入列表本身:
install_requires=REQUIRED_PACKAGES,
2. 依赖包名称不正确
PyPI上不存在名为sklearn的包,sklearn只是代码中导入时的模块名,对应的官方PyPI包名是scikit-learn。你在REQUIRED_PACKAGES里写的'sklearn'会导致pip找不到对应包,必须修改为'scikit-learn'。
修改后的完整setup.py代码
'''Cloud ML Engine package configuration.''' from setuptools import setup, find_packages REQUIRED_PACKAGES = ['keras', 'pandas', 'scikit-learn', 'numpy', 'h5py'] setup(name='iris_classifier', version='1.0', packages=find_packages(), include_package_data=True, description='IRIS classifier keras model on Cloud ML Engine', author='Loonycorn', author_email='contact@loonycorn.com', license='MIT', install_requires=REQUIRED_PACKAGES, zip_safe=False)
额外排查建议
关于云端日志信息不足的问题,你可以尝试用以下命令实时查看任务的完整日志流,获取更具体的错误细节(比如依赖安装失败的详细提示):
gcloud ml-engine jobs stream-logs $JOB_NAME
内容的提问来源于stack exchange,提问作者Judy T Raj
相关产品推荐
相关产品推荐

