1

我正在尝试将PyPI 中未列出的 python包与 Google Cloud ML Engine 一起使用。这个包有自己的依赖项,即使在 PyPI 中列出,默认情况下也没有安装在 ML 引擎环境中,即Cython包。

查看文档并不清楚在这种情况下如何进行,我尝试将这个包打包到一个.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文件并打包我的代码后,谷歌云 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')

我想通过反复试验来避免这样做,因为即使它们立即失败,将作业发送到云也要花钱。

提前致谢。

4

1 回答 1

2

为此,您需要将 Cython 添加到setup.py. 说明可以在这里找到。

这是一个示例setup.py,它将驻留在您传递的目录的父目录--package-pathgcloud

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.'
)
于 2017-07-21T14:43:41.923 回答