我正在尝试使用未在PyPI中列出的python package和Google Cloud ML Engine。此包具有自身依赖关系,即使在PyPI中列出,也不会默认安装在ML引擎环境中,即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 cloud 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')
我希望避免通过反复试验来做到这一点,因为即使他们立即失败,将工作发送到云也需要花钱。
提前致谢。
答案 0 :(得分:2)
为此,您需要将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.'
)