ImportError: невозможно импортировать имя 'Coroutine'

Я пытаюсь следовать этой инструкции здесь:

https://github.com/hyperledger/indy-agent/blob/master/python/README.md

для имитации взаимодействий Hyperledger-indy на экземпляре Ubuntu 18.04 AWS.

Я уже клонировал репозиторий и установил зависимости.(Я следую инструкциям режима dev, потому что не работает докер)

Затем я запускаю команду:

python3 indy-agent.py 8094

И вот логи у меня есть:

Traceback (последний вызов был последним):

  File "indy-agent.py", line 17, in <module>
    import aiohttp_jinja2

  File "/home/ubuntu/.local/lib/python3.5/site-packages/aiohttp_jinja2/__init__.py", line 6, in <module>
    from aiohttp import web

  File "/home/ubuntu/.local/lib/python3.5/site-packages/aiohttp/__init__.py", line 6, in <module>
    from .client import (

  File "/home/ubuntu/.local/lib/python3.5/site-packages/aiohttp/client.py", line 12, in <module>
    from typing import (  # noqa

ImportError: cannot import name 'Coroutine'

Это файл aiohttp/client.py:

"""HTTP Client for asyncio."""

import asyncio
import base64
import hashlib
import json
import os
import sys
import traceback
import warnings
from types import SimpleNamespace, TracebackType
from typing import (  # noqa
    Any,
    Coroutine,
    Generator,
    Generic,
….
)

Это файл aiohttp /init.py:

version = '3.5.4'

from typing import Tuple  # noqa

from . import hdrs
from .client import (

….

И это aiohttp_jinja2 /init.py:

import asyncio
import functools
import warnings
import jinja2
from collections import Mapping
from aiohttp import web
….

Есть идеи как это исправить? Должен ли я изменить несколько строк кода в одном из этих файлов?

Спасибо

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ (НА ОСНОВЕ ОТВЕТОВ)

После обратной связи с ответами я обновился до python 3.6.9. Несмотря на то, что проблемы с asyncio устранены, все еще возникают проблемы. При настройке docker в каталоге / python я получил следующее:

1)make docker-build

2)sudo make docker-start PORT=8094

docker run -it -p $PORT:$PORT -e PORT=$PORT --name indy-agent_$PORT indy-agent
Traceback (most recent call last):
  File "indy-agent.py", line 20, in <module>
    from modules.connection import Connection, AdminConnection
  File "/app/modules/__init__.py", line 1, in <module>
    from python_agent_utils.messages.errors import ValidationException
ModuleNotFoundError: No module named 'python_agent_utils'
Makefile:5: recipe for target 'docker-start' failed
make: [docker-start] Error 1 (ignored)
docker rm indy-agent_$PORT
indy-agent_8094

Когда я пытаюсь установить вручную (без докера), я пытаюсь запустить "pip install -r needs.txt" и получаю следующее:

ОШИБКА: не удалось найти версию, которая удовлетворяет требованию aiohttp==3.5.4 …….ERROR: не найдено соответствующего распределения для aiohttp==3.5.4 (из -r needs.txt (строка 2))

Затем, когда я пытаюсь запустить команду "python3.6 indy-agent.py 8094", я непрерывно получаю журналы об отсутствующих модулях. Я установил их вручную, что позволило мне пойти немного дальше в процессе. Но затем я получаю логи о модулях, которые я не могу установить через python.

Этот факт необходимости установки всех модулей вручную кажется мне очень странным, но я установил агент вне каталога indy-sdk, а также внутри каталога indy-sdk, и я получил те же результаты. Вот команды, которые я запускаю, и журналы, которые я получаю:

1)python3.6 indy-agent.py 8094

ModuleNotFoundError: нет модуля с именем 'aiohttp_jinja2'

2)python3.6 -m pip install aiohttp_jinja2

3)python3.6 indy-agent.py 8094

ModuleNotFoundError: нет модуля с именем base58

4)python3.6 -m pip install base58

Нет модуля с именем dateutil

5)python3.6 -m pip install python-dateutil

6)python3.6 indy-agent.py 8094

ModuleNotFoundError: нет модуля с именем "indy"

7)sudo apt-get update

8)sudo apt-get install -y libindy

9)python3.6 -m pip install indy

10)python3.6 indy-agent.py 8094

ImportError: не может импортировать имя "сделал"

11)python -m pip install did

12)sudo python3 -m pip install did

Каталог /home/ubuntu/.cache/pip/http или его родительский каталог не принадлежат текущему пользователю, и кэш отключен. Пожалуйста, проверьте разрешения и владельца этого каталога. Если вы выполняете pip с помощью sudo, вам может потребоваться флаг -H у sudo. Каталог /home/ubuntu/.cache/pip или его родительский каталог не принадлежат текущему пользователю, и колеса кэширования отключены. проверьте разрешения и владельца этого каталога. Если вы выполняете pip с помощью sudo, вам может потребоваться флаг -H у sudo.

Не удалось найти версию, которая удовлетворяет требованию выполнено (из версии:) Не найдено соответствующего распределения для

0 ответов

Другие вопросы по тегам