GCP DataflowRunner导入程序

2024-04-18 17:48:57 发布

您现在位置:Python中文网/ 问答频道 /正文

使用选项DirectRunner时,代码正在运行。但在将其切换到DataflowRunner时出现导入错误。原因是没有找到lxml模块。当尝试将setuptools代码与主代码一起使用时,它仍然不起作用(--setup\u文件)设置.py). 你知道吗

setuptools.setup(
    name='lxml',
    version='4.2.5',
    install_requires=[],
    packages= setuptools.find_packages(),
)

错误:ImportError:没有名为lxml的模块[在运行“Run Query”时]

有什么帮助/建议来克服这个错误吗?谢谢。你知道吗


Tags: 模块文件代码namepyversionpackages选项
1条回答
网友
1楼 · 发布于 2024-04-18 17:48:57

传递给setuptools.setup函数的name您的包的名称,它的依赖项应该在参数install_requires中指定。我可以想象它与DirectRunner一起工作,因为包安装在本地机器上。你知道吗

Beamjuliaset示例提供了一个示例设置.py文件:

REQUIRED_PACKAGES = ['numpy']
setuptools.setup(
    name='juliaset', # this is their package name
    version='0.0.1',
    description='Julia set workflow package.',
    install_requires=REQUIRED_PACKAGES,
    ...)

PyPI相关性

如果lxml是您唯一的依赖项,或者您所有的依赖项都在PyPI上,那么您应该能够使用更简单的要求.txt文件。一般来说设置.py这种方法需要更多的样板。你知道吗

使用要求.txt,冻结依赖项:

pip freeze > requirements.txt

并通过要求.txt文件到您的管道:

 requirements_file requirements.txt

另请参见Beam文档的页面以获取various dependency patterns for Python。你知道吗

相关问题 更多 >