Объект sqlite3.Connection не имеет атрибута Enable_load_extension. ⇐ Python
-
Anonymous
Объект sqlite3.Connection не имеет атрибута Enable_load_extension.
В python3.7.4 загрузка модулей sqlite3 и запрос на Enable_load_extension дает:
импортировать sqlite3 conn=sqlite3.connect("./tests/data/ne_110m_admin_0_countries.sqlite") conn.enable_load_extension(Истина) AttributeError: объект «sqlite3.Connection» не имеет атрибута «enable_load_extension»
Я понимаю, что пакет Ubuntu sqlite3 по умолчанию собирается с отключенным load_extension. Я следовал этому руководству: https://charlesleifer.com/blog/compilin ... lications/
По сути, скомпилированный sqlite3 с флагом: -DSQLITE_ENABLE_LOAD_EXTENSION, используя pyenv и создав python 3.7.4 в подробном режиме, я вижу загрузку используется флаг расширения, также следуя приведенному выше руководству и переустановив pysqlite3 на pyenv
Запуск Python в подробном режиме:
>>> импортировать sqlite3 # /home/jesus/.pyenv/versions/3.7.4/lib/python3.7/sqlite3/__pycache__/__init__.cpython-37.pyc соответствует /home/jesus/.pyenv/versions/3.7.4/lib/python3 .7/sqlite3/__init__.py Путь к модулю правильный.
Использование клиента sqlite3:
jesus@earth:~/.pyenv/versions/3.7.4/bin$ sqlite3 SQLite версия 3.31.0 16.11.2019 12:04:38 Введите «.help» для получения подсказок по использованию. Подключен к временной базе данных в памяти. Используйте «.open FILENAME» для повторного открытия постоянной базы данных. sqlite> SELECT sqlite_compileoption_used('ENABLE_LOAD_EXTENSION'); 1 Я вижу, что sqlite был собран с правильными параметрами
Тем не менее, у меня по-прежнему возникает та же ошибка: AttributeError: объект 'sqlite3.Connection' не имеет атрибута 'enable_load_extension'
Обновить Запрос по SQL, если библиотека была скомпилирована с загрузкой расширения, ответ положительный
cursor=conn.cursor() res=cursor.execute("SELECT sqlite_compileoption_used('ENABLE_LOAD_EXTENSION');") res.fetchall() [(1,)] Я не знаю, что еще я могу сделать для устранения проблемы. Это происходит в сборке pyenv
Есть какие-нибудь советы??
В python3.7.4 загрузка модулей sqlite3 и запрос на Enable_load_extension дает:
импортировать sqlite3 conn=sqlite3.connect("./tests/data/ne_110m_admin_0_countries.sqlite") conn.enable_load_extension(Истина) AttributeError: объект «sqlite3.Connection» не имеет атрибута «enable_load_extension»
Я понимаю, что пакет Ubuntu sqlite3 по умолчанию собирается с отключенным load_extension. Я следовал этому руководству: https://charlesleifer.com/blog/compilin ... lications/
По сути, скомпилированный sqlite3 с флагом: -DSQLITE_ENABLE_LOAD_EXTENSION, используя pyenv и создав python 3.7.4 в подробном режиме, я вижу загрузку используется флаг расширения, также следуя приведенному выше руководству и переустановив pysqlite3 на pyenv
Запуск Python в подробном режиме:
>>> импортировать sqlite3 # /home/jesus/.pyenv/versions/3.7.4/lib/python3.7/sqlite3/__pycache__/__init__.cpython-37.pyc соответствует /home/jesus/.pyenv/versions/3.7.4/lib/python3 .7/sqlite3/__init__.py Путь к модулю правильный.
Использование клиента sqlite3:
jesus@earth:~/.pyenv/versions/3.7.4/bin$ sqlite3 SQLite версия 3.31.0 16.11.2019 12:04:38 Введите «.help» для получения подсказок по использованию. Подключен к временной базе данных в памяти. Используйте «.open FILENAME» для повторного открытия постоянной базы данных. sqlite> SELECT sqlite_compileoption_used('ENABLE_LOAD_EXTENSION'); 1 Я вижу, что sqlite был собран с правильными параметрами
Тем не менее, у меня по-прежнему возникает та же ошибка: AttributeError: объект 'sqlite3.Connection' не имеет атрибута 'enable_load_extension'
Обновить Запрос по SQL, если библиотека была скомпилирована с загрузкой расширения, ответ положительный
cursor=conn.cursor() res=cursor.execute("SELECT sqlite_compileoption_used('ENABLE_LOAD_EXTENSION');") res.fetchall() [(1,)] Я не знаю, что еще я могу сделать для устранения проблемы. Это происходит в сборке pyenv
Есть какие-нибудь советы??