Не удается импортировать пакет поставщиков воздушного потока

#python #&oo&le-cloud-platform #airflow #&oo&le-cloud-dataproc

#python #&oo&le-облачная платформа #воздушный поток #&oo&le-cloud-dataproc

Вопрос:

Я не могу импортировать пакет поставщиков воздушного потока для Goo&le. Команда, которую я использовал, была

 pip3 install apache-airflow-backport-providers-&oo&le
  

И это выдает мне ошибку

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

Из-за чего моя база данных застряла, а сообщение об ошибке

 Broken DAGS: No module named 'airflow.providers'
  

Я проверил в библиотеке воздушного потока: env/lib/python3.5/site-packa&es/airflow

Не удается найти папку providers.

РЕДАКТИРОВАТЬ: Вышеуказанная проблема решена, когда я обновил версию python до 3.6 , как предложено в ответе. Но теперь столкнулся с новой проблемой ошибки значения. Я использую DataprocInstantiateWorkflowTemplateOperator после импорта airflow.providers.&oo&le.cloud.operators.dataproc .

Пожалуйста, найдите обратную трассировку ошибки ниже.

 Traceback (most recent call last):
  File "workflow_da&.py", line 6, in <module&&t;
    from airflow.providers.&oo&le.cloud.operators.dataproc import DataprocInstantiateWorkflowTemplateOperator
  File "/home/kshitij/env/lib/python3.7/site-packa&es/airflow/providers/&oo&le/cloud/operators/dataproc.py", line 36, in <module&&t;
    from &oo&le.cloud.dataproc_v1beta2.types import (  # pylint: disable=no-name-in-module
  File "/home/kshitij/env/lib/python3.7/site-packa&es/&oo&le/cloud/dataproc_v1beta2/__init__.py", line 18, in <module&&t;
    from .services.autoscalin&_policy_service import Autoscalin&PolicyServiceClient
  File "/home/kshitij/env/lib/python3.7/site-packa&es/&oo&le/cloud/dataproc_v1beta2/services/autoscalin&_policy_service/__init__.py", line 18, in <module&&t;
    from .client import Autoscalin&PolicyServiceClient
  File "/home/kshitij/env/lib/python3.7/site-packa&es/&oo&le/cloud/dataproc_v1beta2/services/autoscalin&_policy_service/client.py", line 33, in <module&&t;
    from &oo&le.cloud.dataproc_v1beta2.services.autoscalin&_policy_service import pa&ers
  File "/home/kshitij/env/lib/python3.7/site-packa&es/&oo&le/cloud/dataproc_v1beta2/services/autoscalin&_policy_service/pa&ers.py", line 20, in <module&&t;
    from &oo&le.cloud.dataproc_v1beta2.types import autoscalin&_policies
  File "/home/kshitij/env/lib/python3.7/site-packa&es/&oo&le/cloud/dataproc_v1beta2/types/__init__.py", line 18, in <module&&t;
    from .autoscalin&_policies import (
  File "/home/kshitij/env/lib/python3.7/site-packa&es/&oo&le/cloud/dataproc_v1beta2/types/autoscalin&_policies.py", line 41, in <module&&t;
    class Autoscalin&Policy(proto.Messa&e):
  File "/home/kshitij/env/lib/python3.7/site-packa&es/proto/messa&e.py", line 139, in __new__
    field.descriptor.oneof_index = oneofs[field.oneof]
  File "/home/kshitij/env/lib/python3.7/site-packa&es/proto/fields.py", line 113, in descriptor
    proto3_optional=self.optional,
ValueError: Protocol messa&e FieldDescriptorProto has no "proto3_optional" field.
  

Ответ №1:

Ваша версия Python — python3.5, а до нее (см. документацию и изображение ниже) вам необходимо обновить python до версии 3.6 , если вы хотите использовать пакет apache-airflow-backport-providers-&oo&le.

Python 3.6 поддерживается Cloud Composer, и вы можете попробовать обновить свою среду или создать новую.

Комментарии:

1. Я обновил версию python и теперь столкнулся с уникальной проблемой ValueError. ValueError: Protocol messa&e FieldDescriptorProto has no "proto3_optional" field. Добавление обратной трассировки ошибки в сам вопрос. Пожалуйста, просмотрите его.

2. Если на первоначальный вопрос уже был дан ответ, было бы лучше открыть новый вопрос с отслеживанием редактирования и примером сценария новой ошибки, это должно быть легко проследить. Не стесняйтесь размещать ссылку на этот новый вопрос, чтобы я мог помочь.