我正试图在DataflowRunner上测试我的数据流管道。我的代码总是在1小时1分钟被卡住,并说:数据流似乎被卡住了。在挖掘Dataflow堆栈驱动程序的堆栈跟踪时,我遇到了说Failed to install packages: failed to install workflow: exit status 1的错误。我看到其他堆栈溢出消息说,当pip包不兼容时会导致这种情况。这导致我的员工启动总是失败。
这是我现在的setup.py。有人能帮我理解我错过了什么吗。工作id为2018-02-09_08_22_34-6196858167817670597。
setup.py
from setuptools import setup, find_packages
requires = [
'numpy==1.14.0',
'google-cloud-storage==1.7.0',
'pandas==0.22.0',
'sqlalchemy-vertica[pyodbc,turbodbc,vertica-python]==0.2.5',
'sqlalchemy==1.2.2',
'apache_beam[gcp]==2.2.0',
'google-cloud-dataflow==2.2.0'
]
setup(
name="dataflow_pipeline_dependencies",
version="1.0.0",
description="Beam pipeline for flattening ism data",
packages=find_packages(),
install_requires=requires
)发布于 2018-02-24 20:05:47
因此,我发现工作流在本例中不是一个pypi包,而是由包含源代码的Dataflow创建的.tar的名称。数据流将压缩您的源代码并在您的暂存环境中创建一个workflow.tar文件,然后它将尝试运行pip安装workflow.tar。如果此安装出现任何问题,它将无法将软件包安装到工作人员上。
我的问题通过以下几个方面得到了解决: 1)我将six==1.10.0添加到我的需求中,正如我从:工作流失败中发现的那样。原因:(35af2d4d3e5569e4):数据流似乎卡住了,最新版本的6出现了问题。2)我意识到sqlalchemy和sqlalchemy是不同步的,并且存在依赖版本的问题。因此,我消除了对两者的需求,找到了一个不同的vertica客户端。
发布于 2019-10-11 16:50:32
在setup.py必需的包中包括“工作流”包。包含错误后,错误将得到解决。
from setuptools import setup, find_packages
requires = [
'numpy==1.14.0',
'google-cloud-storage==1.7.0',
'pandas==0.22.0',
'sqlalchemy-vertica[pyodbc,turbodbc,vertica-python]==0.2.5',
'sqlalchemy==1.2.2',
'apache_beam[gcp]==2.2.0',
'google-cloud-dataflow==2.2.0',
'workflow' # Include this line
]
setup(
name="dataflow_pipeline_dependencies",
version="1.0.0",
description="Beam pipeline for flattening ism data",
packages=find_packages(),
install_requires=requires
)发布于 2018-02-09 17:36:37
在处理大量Python包以及如何管理每个版本的所有版本、不兼容、需求和需求方面,我不是天才。
但是,我可以读取错误消息。
在您的例子中,消息说“安装工作流失败”。在Google快速搜索之后,我发现“工作流”实际上是一个Python包。
因此,错误只是抱怨您还没有安装workflow,并且它试图这样做失败了。
修复此问题
workflow链接安装PyPI。这是谷歌给我看的最新版本。或
pip install workflow。这两种方法都应该安装所需的包。一旦安装完毕,特定的错误消息就会消失。
我希望这个答案能帮到你!
https://stackoverflow.com/questions/48710679
复制相似问题