如何修复`AttributeError:模块';apache_beam.coders.coders';没有属性';VarIntCoder';`
问题描述
我正在构建一个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希望它能有所帮助。
相关文章