Python3 не удается импортировать sqlite3
Я только что перенес модуль Python из моей системы OS X в Ubuntu. Модуль работает на Mac просто отлично, но в системе Ubuntu происходит сбой со следующей ошибкой:
импорт sqlite3
Файл "/usr/local/lib/python3.4/sqlite3/init.py", строка 23, из sqlite3.dbapi2 import *
Файл "/usr/local/lib/python3.4/sqlite3/dbapi2.py", строка 26, из _sqlite3 import *
ImportError: нет модуля с именем _sqlite3
Некоторые ответы, которые я нашел до сих пор, похоже, не подтверждают, что эта ошибка генерируется в библиотеках Python. Другие предлагают переустановку Python и / или Sqlite. Я переустановил оба (принудительная переустановка), убедившись, что Python3 был установлен после Sqlite3. Все еще нет радости.
Как я уже сказал, код работает на Mac. До появления sqlite3 общая база кода работала и в Ubuntu. В прошлом было несколько установок и обновлений, для похожих приложений я использовал sqlite3 с более ранними версиями Python (возможно, не с Python3?). Я ищу дополнительные предложения - для исправления или для отладки расследования.
2 ответа
Похоже, вы уже пробовали много решений, поэтому я не знаю точно, является ли это новым для вас или нет. Во всяком случае, я столкнулся с аналогичной проблемой с тем же точным кодом ошибки. Мои заметки того времени говорят, что я решил эту проблему, установив версию библиотеки для разработчиков, libsqlite3-dev
,
Со временем я обнаружил, что это своего рода хорошее эмпирическое правило: когда что-то не получается, и вы думаете, что у вас есть все соответствующие пакеты, сбой происходит из-за отсутствия -dev
библиотечный пакет.
Если этого не достаточно, как насчет запуска strace
? Возможно, это может добавить некоторую полезную информацию.
Этот вопрос не стоит преследовать. После нескольких попыток восстановления установки я решил заменить виртуальную машину Ubuntu новыми установками, необходимыми для запуска приложения. Теперь все работает отлично.
Забавно, как мы развиваем туннельное зрение и начинаем искать ответ, а не решение.