openlang

Какой import в Python уберёт это предупреждение об устаревании?

Здравствуйте, я новичок в Python. Получаю DeprecationWarning о том, что использование или импорт ABC через 'collections' вместо collections.abc перестанет работать в Python 3.10

import pymssql as pymssql

Документация системы импорта (https://docs.python.org/3/reference/import.html) кажется технически точной, но любая испробованная мной комбинация from и import приводит к синтаксической ошибке.

У меня python 3.9.2 на Raspberry Pi с armv7l GNU/Linux

python3 -m pip show pymssql сообщает об установке в /usr/lib/python3/dist-packages

В этом каталоге лежат pymssql-2.1.4.egg-info и pymssql.cpython-39-arm-linux-gnueabihf.so

Подскажите, пожалуйста, какой оператор import мне нужен?

Переведено с английскогоПоказать оригинал

Разговор продолжается 3

Следуя доводам
  1. Ссылка на ответ

    Здравствуйте, я новичок в Python. Получаю DeprecationWarning о том, что использование или импорт ABC через 'collections' вместо collections.abc перестанет работать в Python 3.10 import pymssql as pymssql

    Покажите полный traceback получаемого исключения. Скорее всего, дело не в написанном вами коде, а внутри pymssql, поскольку сторонние пакеты, к сожалению, довольно часто выдают подобные предупреждения, и нужно проследить traceback, чтобы точно установить источник именно этого предупреждения.

    Ещё я заметил, что, похоже, доступна более новая версия pymssql. Без необходимых компонентов я не могу установить ни вашу версию, ни новую, но обновление стоит рассмотреть. (Кстати, список “Releases” в GitHub проекта (https://github.com/pymssql/pymssql/) вводит в заблуждение: после 2020 года там, похоже, ничего не публиковали. Тем не менее разработка в этом репозитории, судя по всему, продолжается активно.) Я нашёл закрытый issue (https://github.com/pymssql/pymssql/issues/576) именно об этом предупреждении, где говорится, что исправление вошло в 2.1.5, поэтому обновление до 2.1.x или 2.3 вполне может решить проблему.

    Переведено с английскогоПоказать оригинал
  2. Ссылка на ответ

    Отлично, спасибо Tavin за потраченное на расследование время! Я решил, что виноват сам, ведь примерно в 99.8 процента случаев так и бывает. Хорошо, попробую установить актуальную / рабочую версию pymssql; пока подавлю Deprecation warning, проследив, чтобы исключались только предупреждения pymssql. Как вы, наверное, заметили, я бы предпочёл mysql с большим сообществом и поддержкой, но… «клиент получает то, что просит» :wink: Мои примерно 200 строк уже работают, так что избавлю вас от скуки и заслуженной критики. Ещё раз спасибо!

    Переведено с английскогоПоказать оригинал
  3. Ссылка на ответ

    Я решил, что виноват сам, ведь примерно в 99.8 процента случаев так и бывает.

    Это разумная исходная позиция :slight_smile: Но, научившись читать traceback, вы сможете распознавать проблемы, возникающие в библиотеках.

    Как вы, наверное, заметили, я бы предпочёл mysql с большим сообществом и поддержкой, но… «клиент получает то, что просит»

    Я не возражаю против MS SQL Server;[1] (#footnote-409572-1) просто у меня ничего связанного с ним не установлено, поэтому я не могу сразу поднять venv и проверить несколько версий, чтобы узнать, в каких из них возникает эта проблема.

    Рад, что смог помочь!

    хотя лично для меня лучший выбор — PostgreSQL! ↩︎ (#footnote-ref-409572-1)

    Переведено с английскогоПоказать оригинал

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

  1. Уменьшение шума в консоли docker-compose

    Когда docker-compose up запускает все сервисы в моей среде разработки, несколько контейнеров выдают сотни и сотни строк. Можн…

    Ответы 3Последняя активность bash
  2. Можно ли создавать модули расширения Python на языке D вместо C?

    Похоже, D умеет компоноваться с C. Я хочу написать модуль расширения Python на D. Не упускаю ли я какую-то причину, по которо…

    Ответы 2Последняя активность d
  3. Объявлять плагины Micro через Nix?🤔

    В python можно написать так: Python.withPackages (q: with q; [ fastapi ]) Есть ли аналогичный механизм для редактора Micro? М…

    Ответы 3Последняя активность nix