Mel*_*Guo 5 python google-cloud-dataflow
我的文件夹结构如下:
Project/
--Pipeline.py
--setup.py
--dist/
--ResumeParserDependencies-0.1.tar.gz
--Dependencies/
--Module1.py
--Module2.py
--Module3.py
Run Code Online (Sandbox Code Playgroud)
我的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']
)
Run Code Online (Sandbox Code Playgroud)
我使用 setup.py 文件使用“python setup.py sdist”创建了一个 tar.gz 文件。tar 文件位于 dist 文件夹中,名为 ResumeParserDependencies-0.1.tar.gz。然后我指定
setup_options.extra_packages = ['./dist/ResumeParserDependencies-0.1.tar.gz'] in my pipeline options.
Run Code Online (Sandbox Code Playgroud)
但是,一旦我在 Dataflow 上运行我的管道,我就会收到错误“没有名为 ResumeParserDependencies 的模块”。如果我在本地使用“pip install ResumeParserDependencies-0.1.tar.gz”,则会安装该软件包,并且我可以使用“pip freeze”看到它。
将包加载到 Dataflow 中我缺少什么?
Mel*_*Guo 11
我改变了我的文件夹结构并让它工作:
Project/
--Pipeline.py
--setup.py
--Module1/
--__init__.py
--Module2/
--__init__.py
--Module3/
--__init__.py
Run Code Online (Sandbox Code Playgroud)
setup.py 文件现在看起来像这样: from setuptools import setup, find_packages
setup(name='ResumeParserDependencies',
version='0.1',
description='Dependencies',
install_requires=[
'google-cloud-storage==1.11.0',
'urllib3==1.23'
],
packages = find_packages()
)
Run Code Online (Sandbox Code Playgroud)
在我的管道中,我指定了:
setup_options.setup_file = './setup.py'
Run Code Online (Sandbox Code Playgroud)
我不需要:
setup_options.extra_packages = ['./dist/ResumeParserDependencies-0.1.tar.gz']
Run Code Online (Sandbox Code Playgroud)
参考: find_packages 没有找到我的 Python 文件
| 归档时间: |
|
| 查看次数: |
4475 次 |
| 最近记录: |