Python 导入错误:将apache_梁作为梁导入。找不到模块
我已经在Docker中安装了apache_beam Python SDK和apache Python SDK。 Python版本:3.5Python 导入错误:将apache_梁作为梁导入。找不到模块,python,docker,pip,airflow,apache-beam,Python,Docker,Pip,Airflow,Apache Beam,我已经在Docker中安装了apache_beam Python SDK和apache Python SDK。 Python版本:3.5 Apache气流:1.10.5 我正在尝试使用**DataflowPythonOperator**执行apachebeam管道。 当我从airflow UI运行DAG时,我得到 导入错误:将apache_梁导入为梁。找不到模块 使用相同的设置,我尝试了**DataflowTemplateOperator**,效果非常好 当我在Python2和ApacheAir
Apache气流:1.10.5 我正在尝试使用
**DataflowPythonOperator**
执行apachebeam管道。
当我从airflow UI运行DAG时,我得到
导入错误:将apache_梁导入为梁。找不到模块
使用相同的设置,我尝试了**DataflowTemplateOperator**
,效果非常好
当我在Python2和ApacheAirflow 1.10.3上尝试相同的docker设置时,两个月前,操作员没有返回任何错误,并且按照预期工作
SSH进入docker后,当我检查docker容器中已安装的库(使用pip冻结)时,我可以看到已安装的apache beam和apache airflow版本。
apache气流==1.10.5
apache beam==2.15.0
Dockerfile:
气流操作员:
这将帮助你解决你的问题。遵循以下步骤
该示例现在似乎正常工作。这似乎是一个已知问题: 请运行pip install six==1.10。这是Beam()中的一个已知问题,我们正试图在上游解决它
因此,请尝试使用
pip
安装six==1.10
,这可能不是您的选项,但我在使用python 2时遇到了相同的错误。用Python3执行相同的脚本解决了这个错误
我正在浏览数据流教程:
当我按照规定的说明操作时:
python grep.py
我从你文章的标题中得到了这个错误。我打了一拳:
python3 grep.py
它的工作原理与预期一致。我希望有帮助。如果没有的话,我会很开心的。有关I运行的具体内容,请参阅链接 你能分享完整的回溯吗?@lainShelvington这里是回溯:我会注意到,如果你只是在docker上运行一个应用程序,那么我会跳过virtualenv,不清楚为什么这会有帮助。你可以补充一些东西来解释为什么这会解决这个问题吗?在这些步骤中没有这样的东西,我只是提供了做同样事情的真相之源路径。我有同样的问题,不幸的是,这没有解决它。
new_task = DataFlowPythonOperator(
task_id='process_details',
py_file="path/to/file/filename.py",
gcp_conn_id='google_cloud_default',
dataflow_default_options={
'project': 'xxxxx',
'runner': 'DataflowRunner',
'job_name': "process_details",
'temp_location': 'GCS/path/to/temp',
'staging_location': 'GCS/path/to/staging',
'input_bucket': 'bucket_name',
'input_path': 'GCS/path/to/bucket',
'input-files': 'GCS/path/to/file.csv'
},
dag=test_dag)
https://www.tensorflow.org/install/install_linux#InstallingVirtualenv
python3 grep.py