如何将 python 包安装到 Google Dataflow 并将其导入到我的管道中?

2024-04-28

我的文件夹结构如下:

Project/
 --Pipeline.py
 --setup.py
 --dist/
  --ResumeParserDependencies-0.1.tar.gz
 --Dependencies/
        --Module1.py
        --Module2.py
        --Module3.py

My setup.py文件看起来像这样:

from setuptools import setup, find_packages

setup(name='ResumeParserDependencies',
  version='0.1',
  description='Dependencies',
  install_requires=[
   'google-cloud-storage==1.11.0',
   'requests==2.19.1',
   'urllib3==1.23'
    ],
  packages = ['Dependencies']
 )

我使用 setup.py 文件使用“python setup.py sdist”创建了一个 tar.gz 文件。 tar 文件位于 dist 文件夹中,名称为 ResumeParserDependency-0.1.tar.gz。然后我指定

setup_options.extra_packages = ['./dist/ResumeParserDependencies-0.1.tar.gz'] in my pipeline options.

但是,一旦我在 Dataflow 上运行管道,就会收到错误“没有名为 ResumeParserDependency 的模块”。如果我在本地使用“pip install ResumeParserDependency-0.1.tar.gz”,则会安装该包,并且我可以使用“pip freeze”看到它。


将包加载到 Dataflow 时缺少什么?


我更改了文件夹结构并使其正常工作:

Project/
--Pipeline.py
--setup.py
--Module1/
    --__init__.py
--Module2/
    --__init__.py
--Module3/
    --__init__.py

setup.py 文件现在如下所示: 从 setuptools 导入安装程序,find_packages

setup(name='ResumeParserDependencies',
  version='0.1',
  description='Dependencies',
  install_requires=[
   'google-cloud-storage==1.11.0',
   'urllib3==1.23'
    ],
  packages = find_packages()
 )

在我的管道中,我指定了:

setup_options.setup_file = './setup.py'

我不需要:

setup_options.extra_packages = ['./dist/ResumeParserDependencies-0.1.tar.gz']

参考:find_packages 找不到我的 Python 文件 https://stackoverflow.com/questions/42984118/find-packages-doesnt-find-my-python-file

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 python 包安装到 Google Dataflow 并将其导入到我的管道中? 的相关文章

随机推荐