无法导入气流提供商包装

问题描述

我无法为Google导入气流提供商软件包。我使用的命令是

pip3 install apache-airflow-backport-providers-google

这给了我错误

ERROR: Could not find a version that satisfies the requirement apache-airflow-backport-providers-google (from versions: none)
ERROR: No matching distribution found for apache-airflow-backport-providers-google

由于我的DAG卡在其中并且错误消息是

broken DAGS: No module named 'airflow.providers'

我检查了气流库:env/lib/python3.5/site-packages/airflow

找不到提供者文件夹。

编辑:当我按照答案中的建议将python版本升级到3.6+时,上述问题已解决。但是现在,面临着新的价值错误问题。 导入DataprocInstantiateWorkflowTemplateOperator后,我正在使用airflow.providers.google.cloud.operators.dataproc

请在下面找到错误回溯。

Traceback (most recent call last):
  File "workflow_dag.py",line 6,in <module>
    from airflow.providers.google.cloud.operators.dataproc import DataprocInstantiateWorkflowTemplateOperator
  File "/home/kshitij/env/lib/python3.7/site-packages/airflow/providers/google/cloud/operators/dataproc.py",line 36,in <module>
    from google.cloud.dataproc_v1beta2.types import (  # pylint: disable=no-name-in-module
  File "/home/kshitij/env/lib/python3.7/site-packages/google/cloud/dataproc_v1beta2/__init__.py",line 18,in <module>
    from .services.autoscaling_policy_service import AutoscalingPolicyServiceClient
  File "/home/kshitij/env/lib/python3.7/site-packages/google/cloud/dataproc_v1beta2/services/autoscaling_policy_service/__init__.py",in <module>
    from .client import AutoscalingPolicyServiceClient
  File "/home/kshitij/env/lib/python3.7/site-packages/google/cloud/dataproc_v1beta2/services/autoscaling_policy_service/client.py",line 33,in <module>
    from google.cloud.dataproc_v1beta2.services.autoscaling_policy_service import pagers
  File "/home/kshitij/env/lib/python3.7/site-packages/google/cloud/dataproc_v1beta2/services/autoscaling_policy_service/pagers.py",line 20,in <module>
    from google.cloud.dataproc_v1beta2.types import autoscaling_policies
  File "/home/kshitij/env/lib/python3.7/site-packages/google/cloud/dataproc_v1beta2/types/__init__.py",in <module>
    from .autoscaling_policies import (
  File "/home/kshitij/env/lib/python3.7/site-packages/google/cloud/dataproc_v1beta2/types/autoscaling_policies.py",line 41,in <module>
    class AutoscalingPolicy(proto.Message):
  File "/home/kshitij/env/lib/python3.7/site-packages/proto/message.py",line 139,in __new__
    field.descriptor.oneof_index = oneofs[field.oneof]
  File "/home/kshitij/env/lib/python3.7/site-packages/proto/fields.py",line 113,in descriptor
    proto3_optional=self.optional,ValueError: Protocol message FieldDescriptorProto has no "proto3_optional" field.

解决方法

您的Python版本是python3.5及其之前的版本(请参见documentation和下图),如果您想使用apache-airflow-backport-providers-,则需要将python升级到3.6+。谷歌包。

enter image description here

Cloud Composer支持Python 3.6,您可以尝试upgrade your enviroment或创建一个新版本。