Итак, я выполняю задание, которое заключается в подключении к базе данных и выполнении операций с ней. Для этого я выбрал sqlite3, а для подключения к базе данных я нашел драйвер ODBC для python — pyodbc.
Мои вопросы: в чем разница между использованием pyodbc и использованием библиотеки sqlite3, то есть import sqlite3
? А драйвер pyodbc интегрирован в sqlite3?
pyodbc — это API, который позволяет вам взаимодействовать с любой базой данных, которая предоставляет драйвер odbc для своей базы данных. Если вы используете библиотеку SQLite напрямую и однажды захотите переключиться на другую базу данных, вам придется пересмотреть свой код, чтобы использовать либо pyodbc, либо API конкретной базы данных для базы данных, на которую вы мигрируете.
В качестве альтернативы вы можете подключиться к SQLite с помощью pyodbc с помощью драйвера SQLite pyodbc. Смотрите ответ здесь: Подключитесь к серверу SQLite3, используя PyODBC, Python
Ну, вы должны знать, что не каждая библиотека предполагается в каждой операционной системе. Так что не уверен насчет macOS. Тем не менее, на ваш вопрос был полностью дан ответ.
Большим преимуществом использования встроенного модуля sqlite3
Python является то, что он встроен; других зависимостей нет. Если ваше приложение использует pyodbc и SQLite ODBC, то оба этих внешних компонента должны быть доступны для работы приложения.
Если это личный проект, то вы, очевидно, можете установить то, что необходимо, но если это когда-либо будет широко развернуто, вам придется иметь дело с дополнительными требованиями, если вы выберете pyodbc. В частности, ваше приложение [Python] может зарегистрировать зависимость от pyodbc таким образом, что pip install your_app
также установит pyodbc, но оно не может (практически) автоматически удовлетворить требования для драйвера SQLite ODBC, поэтому ваши инструкции по установке должны будут решить эту проблему.
А драйвер pyodbc интегрирован в sqlite3?
Нет. Драйвер SQLite ODBC полностью отделен как от Python [sqlite3], так и от pyodbc.
Я уже пытался перейти по предоставленной вами ссылке, но, к сожалению, я не могу заставить ее работать для macOS Big sur.