当前位置: 首页 > 知识库问答 >
问题:

导入apache_beam为光束。模块未找到

孔才
2023-03-14

我已经在Docker中安装了apache_beam Python SDK和apache Python SDK。Python版本:3.5
Apache版本:1.10。5.

我正在尝试使用**DataflowPythonOperator**执行apachebeam管道。当我从airflow UI运行DAG时,我得到

导入错误:将apache_梁导入为梁。找不到模块

使用相同的设置,我尝试了**DataflowTemplateoperator**,它工作得非常好。

当我用Python2和ApacheAirflow 1.10尝试相同的docker设置时。两个月前,操作员没有返回任何错误,并按预期工作。

SSH进入docker后,当我检查docker容器中已安装的库(使用pip冻结)时,我可以看到已安装的apache beam和apache airflow版本。阿帕奇气流==1.10。5阿帕奇波束==2.15。0

Dockerfile:

RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
RUN pip install apache-beam
RUN pip install apache-beam[gcp]
RUN pip install google-api-python-client
ADD . /home/beam


RUN pip install apache-airflow[gcp_api]

气流操作员:

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)

共有3个答案

师向文
2023-03-14

这可能不是你的选择,但我得到了与python 2相同的错误。使用python 3执行相同的脚本解决了错误。

我正在浏览数据流教程:https://codelabs.developers.google.com/codelabs/cpb101-simple-dataflow-py/

当我按照指定的指示:

Pythongrep.py

我从你文章的标题中得到了这个错误。我打了一拳:

python3 grep.py 

它的工作原理与预期一致。我希望有帮助。如果没有的话,很高兴能找到。请查看链接以了解有关我到底在运行什么的详细信息。

庄元龙
2023-03-14

从这个github链接将帮助您解决您的问题。遵循以下步骤。

>

https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/?utm_source=feedly

创建虚拟环境(注:我是在oudml-示例文件夹中创建的

钛-vim-169612:~/cloudml样本$virtualenv

激活虚拟环境

@钛-vim-169612:~/cloudml样本$source env/bin/activate

使用以下链接安装云数据流:(这会带来apache_beam)

https://cloud.google.com/dataflow/docs/quickstarts/quickstart-python

现在可以检查env/lib/python2中是否存在apache_beam。7/站点包/

@钛-vim-169612:~/cloudml样品/花$ls/env/lib/python2。7/站点包/

运行示例在这一点上,我得到了一个错误,关于丢失的张量流。我使用下面的链接(使用虚拟环境的安装步骤)在我的虚拟环境中安装了tenstorflow,

https://www.tensorflow.org/install/install_linux#InstallingVirtualenv

这个样本现在似乎起作用了。

仲孙钊
2023-03-14

这似乎是一个已知的问题:https://github.com/GoogleCloudPlatform/DataflowPythonSDK/issues/46

请运行pip安装六==1.10。这是Beam(https://issues.apache.org/jira/browse/BEAM-2964)中的一个已知问题,我们正试图在上游得到解决。

因此,尝试使用pip安装

 类似资料:
  • 我写了“../../public/image/cover1.png” 但有一个错误是: 未找到模块:您试图导入..//公共/图片/封面1。位于项目src/目录之外的png。不支持src/之外的相对导入。

  • 我已经安装了反应三纤维这里是一个依赖 }, 我运行 之后,我试图导入使用GLTF 我犯了个错误 我决定手动检查文件内@report-三/drei/useGLTF,但没有名称如useGLTF 我还需要做别的吗?

  • 我注意到一些看似奇怪的行为,当试图以不同的方式导入名为rmod2的python模块时。如果我从rmod2.py文件所在的目录启动python,它可以正常工作。但是,如果我将文件移动到其他模块所在的另一个文件夹,它不再按预期工作。模块/包文件夹 /usr/lib/pymodules/python2.7,它也包含在sys.path.中,所以我创建了文件夹 /usr/lib/pymodules/pyth

  • 我的文件目录是这样的: SSDTTime.py文件的首行是引入Scripts文件夹里面的文件,是这样写的: Scripts文件夹里面是这样的: 我在powershell里面运行SSDTTime.py文件,出现如下错误,找不到Scripts模块: 大佬帮解释一下怎么回事。

  • 问题内容: 我已尝试找到有关最佳使用还是全面的指南。我刚开始使用Python,并且正在尝试着眼于最佳实践。 基本上,我希望有人能分享他们的经验,其他开发人员有什么喜好,以及避免遇到麻烦的最佳方法是什么? 问题答案: 和之间的区别主要是主观的。选择最喜欢的一个,并在使用中保持一致。这里有一些要点可以帮助你做出决定。 优点: - 减少维护你的import报表。无需添加任何其他导入即可开始使用模块中的另

  • 根据这个答案,您可以使用来使用类似这样的相对导入: 为什么相对导入不适用于sklearn。特征提取。文本 我验证了是一个具有以下功能的模块: 编辑 “不工作”,我的意思是它不导入模块。 我正在使用Python 3.4 绝对方式工作: 相对方式不: