在 Google Cloud ML Engine 中使用自定义依赖项
Using custom dependencies in Google Cloud ML Engine
我正在尝试使用 python package that is not listed in PyPI with the Google Cloud ML Engine. This package has itself dependencies that even though are listed in PyPI are not installed by default in the ML engine environment, namely the Cython 包。
查看 documentation 并不清楚在这种情况下如何进行,我尝试将此包打包到 .tar.gz
文件中并在 --packages
参数下传递,但出现以下错误:
File "<string>", line 1, in <module> IOError: [Errno 2] No such file or directory: '/tmp/pip-jnm3Ml-build/setup.py'
在我尝试使用 setup.py
文件并打包我的代码后,但 google 云 ml 引擎无法在 dependency_links
中找到该包
这是我目前的 setup.py
:
from setuptools import find_packages, setup
required_packages = ['cython', 'numpy', 'tensorflow', 'scipy', 'cython']
dependency_links = ['git+https://github.com/lucasb-eyer/pydensecrf.git']
setup(name='trainer',
version='0.1',
packages=['trainer'],
install_requires=required_packages,
dependency_links=dependency_links,
include_package_data=True,
description='description')
我希望通过反复试验避免这样做,因为将作业发送到云端需要花费金钱,即使它们立即失败也是如此。
提前致谢。
为此,您需要将 Cython 添加到 setup.py
中所需的软件包列表中。可以找到说明 here.
这是一个示例 setup.py
,它位于您作为 --package-path
传递给 gcloud
的目录的父目录中。
from setuptools import find_packages
from setuptools import setup
REQUIRED_PACKAGES = ['Cython>=0.26']
setup(
name='trainer',
version='0.1',
install_requires=REQUIRED_PACKAGES,
packages=find_packages(),
include_package_data=True,
description='My trainer application package.'
)
我正在尝试使用 python package that is not listed in PyPI with the Google Cloud ML Engine. This package has itself dependencies that even though are listed in PyPI are not installed by default in the ML engine environment, namely the Cython 包。
查看 documentation 并不清楚在这种情况下如何进行,我尝试将此包打包到 .tar.gz
文件中并在 --packages
参数下传递,但出现以下错误:
File "<string>", line 1, in <module> IOError: [Errno 2] No such file or directory: '/tmp/pip-jnm3Ml-build/setup.py'
在我尝试使用 setup.py
文件并打包我的代码后,但 google 云 ml 引擎无法在 dependency_links
这是我目前的 setup.py
:
from setuptools import find_packages, setup
required_packages = ['cython', 'numpy', 'tensorflow', 'scipy', 'cython']
dependency_links = ['git+https://github.com/lucasb-eyer/pydensecrf.git']
setup(name='trainer',
version='0.1',
packages=['trainer'],
install_requires=required_packages,
dependency_links=dependency_links,
include_package_data=True,
description='description')
我希望通过反复试验避免这样做,因为将作业发送到云端需要花费金钱,即使它们立即失败也是如此。
提前致谢。
为此,您需要将 Cython 添加到 setup.py
中所需的软件包列表中。可以找到说明 here.
这是一个示例 setup.py
,它位于您作为 --package-path
传递给 gcloud
的目录的父目录中。
from setuptools import find_packages
from setuptools import setup
REQUIRED_PACKAGES = ['Cython>=0.26']
setup(
name='trainer',
version='0.1',
install_requires=REQUIRED_PACKAGES,
packages=find_packages(),
include_package_data=True,
description='My trainer application package.'
)