我的文件夹结构如下:
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(使用前将#替换为@)