如何修复`AttributeError:模块'apache_beam.coders.coders'没有属性'VarIntCoder'`

2022-04-13 00:00:00 python apache-beam

问题描述

我正在构建一个Apache Beam管道,但在尝试导入管道选项时遇到了AttributeError。

我正在使用python3.6在干净的虚拟环境中的Ubuntu服务器上进行测试

步骤:

virtualenv -p python3.6 beam-env
. beam-env/bin/activate
pip install apache_beam==2.12.0
python3.6 test.py

内部test.py:

from apache_beam.options.pipeline_options import PipelineOptions

我希望导入工作成功,但我收到以下错误:

AttributeError:模块‘apache_beam.coders.coders’没有属性‘VarIntCoder’


解决方案

更新:

事实上,该错误是由python3引起的。切换到python2.7,错误就消失了。BEAM正在完全过渡到巨蟒3号,预计很快就会100%完成。[我不确定100%的预计到达时间,也许可以重新登记用户组以确定确切的时间线]

原件: 在您的虚拟环境中也执行以下操作:

pip install -e .[gcp,test]

也可以在apache_Beam文件夹下执行此操作:

python setup.py sdist

然后重试。

即使使用了Virtualenv,安装环境也可能很棘手。我有时发现这个页面中的提示很有用:https://cwiki.apache.org/confluence/display/BEAM/Python+Tips

希望它能有所帮助。

相关文章