Я не могу импортировать модуль sqlite3 в Python версии 3.5.0. Вот что я получаю:
>>> import sqlite3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/lib/python3.5/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: No module named '_sqlite3'
Я знаю, я знаю, что есть МНОЖЕСТВО сообщений StackOverflow и форумов поддержки в Интернете, где люди жалуются на эту проблему, но ни одно из опубликованных решений пока не помогло мне. Вот где я был:
У меня также установлен Python 2.6.6 на этом сервере, на котором работает CentOS 6.8 x86_64. Я могу открыть Python REPL и легко импортировать sqlite3 при использовании Python 2.6.6. Я также могу использовать sqlite3 прямо из bash, и ничего не кажется неправильным.
Этот полезный вопрос выглядел многообещающим. Я попытался переконфигурировать и перекомпилировать Python3.5 с опцией
--enable-loadable-sqlite-extensions
, как предложил пользователь jammyWolf. Нет, такая же ошибка все еще возникает.Я как хороший мальчик использую виртуальные среды, но у меня есть root-доступ к этому серверу. Итак, я был плохим парнем и запускал python3 как root без активации виртуальных машин. По-прежнему не повезло. Так что я не думаю, что это имеет какое-то отношение к разрешениям.
Я заметил, что в сообщении об ошибке написано
No module named '_sqlite3'
. Эта ветка предполагает, что подчеркивание перед именем модуля означает, что модуль является деталью реализации и не отображается в API. ... Я не уверен, что делать с этой информацией, но где-то здесь может быть намек.
Любые идеи?
sqlite3
- это код Python;_sqlite3
- это код C. Исходный Python вашего дистрибутива уже должен был включать библиотеку SQLite. Вы сами компилировали 3.5? - person CL.   schedule 07.10.2016