LINUX.ORG.RU

aiomysql: выдает ошибку при попытке импорта

 , , ,


0

1

Друзья, простите заранее за нубский вопрос, совсем еще новичок в Python. Пытаюсь написать фреймворк с использованием aiohttp и в качестве библиотеки для асинхронной работы с БД пытаюсь использовать aiomysql. aiomysql установил, но при попытке импорта библиотеки, вылезает вот такая ошибка (pymysql тоже установлено):

Traceback (most recent call last): File «<stdin>», line 1, in <module> File «C:\Users\AAA\AppData\Local\Programs\Python\Python36-32\lib\site-packages\aiomysql\__init__.py», line 32, in <module> from .connection import Connection, connect File «C:\Users\AAA\AppData\Local\Programs\Python\Python36-32\lib\site-packages\aiomysql\connection.py», line 30, in <module> from pymysql.connections import _scramble ImportError: cannot import name '_scramble'

Помогите плиз разобраться с чем связана эта ошибка и как исправить?

И второй вопрос - правильно ли я делаю, что использую aiomysql или есть другие библиотеки для асинхронной работы с Mysql?

Заранее огромное спасибо!

Ответ на: комментарий от vvn_black

Спасибо за совет! Правильно ли я понял, что блокирующие операции с mysqlclient оборачивать в ThreadPoolExecutor и запускать в отдельном потоке? И это все будет работать с асинхронным aiohttp?

Luhashan
() автор топика
Ответ на: комментарий от Luhashan

И еще вопрос про aioodbc. Вот пример из документации, однако мне как новичку совершенно не понятно, как именно заполнять dsn. Например какой драйвер указывать и откуда его вообще брать?

import asyncio import aioodbc

loop = asyncio.get_event_loop()

async def test_example(): dsn = 'Driver=SQLite;Database=sqlite.db' conn = await aioodbc.connect(dsn=dsn, loop=loop)

cur = await conn.cursor() await cur.execute(«SELECT 42;») r = await cur.fetchall() print(r) await cur.close() await conn.close()

loop.run_until_complete(test_example())

Luhashan
() автор топика
Ответ на: комментарий от Luhashan

И еще вопрос про aioodbc

однако мне как новичку совершенно не понятно, как именно заполнять dsn

Обращайся к документации своего ODBC-сервера.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Спасибо, буду гуглить и изучать! Если не сложно, может есть под рукой ссылка на понимание того, что такое ODBC-сервер для новичка, если на английском, то даже лучше?

Luhashan
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.