#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. Если на первоначальный вопрос уже был дан ответ, было бы лучше открыть новый вопрос с отслеживанием редактирования и примером сценария новой ошибки, это должно быть легко проследить. Не стесняйтесь размещать ссылку на этот новый вопрос, чтобы я мог помочь.