Нет модуля с именем _sqlite3

Я пытаюсь запустить приложение Django на своем VPS, работающем под Debian 5. Когда я запускаю демонстрационное приложение, он возвращается с этой ошибкой:

File "/usr/local/lib/python2.5/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/usr/local/lib/python2.5/site-packages/django/db/backends/sqlite3/base.py", line 30, in <module> raise ImproperlyConfigured, "Error loading %s: %s" % (module, exc) ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3 

Глядя на установку Python, она дает ту же ошибку:

 Python 2.5.2 (r252:60911, May 12 2009, 07:46:31) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sqlite3 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.5/sqlite3/__init__.py", line 24, in <module> from dbapi2 import * File "/usr/local/lib/python2.5/sqlite3/dbapi2.py", line 27, in <module> from _sqlite3 import * ImportError: No module named _sqlite3 >>> 

Читая в Интернете, я узнаю, что Python 2.5 должен поставляться со всеми необходимыми оболочками SQLite . Нужно ли переустанавливать Python, или есть ли другой способ запустить этот модуль?

16 Solutions collect form web for “Нет модуля с именем _sqlite3”

У меня была та же проблема (создание python2.5 из исходного кода на Ubuntu Lucid), и import sqlite3 бросил это же исключение. Я установил libsqlite3-dev из диспетчера пакетов, перекомпилировал python2.5, а затем работал импорт.

кажется, что ваш make-файл не содержит соответствующий .so файл. Я исправил эту проблему с помощью следующих шагов:

  1. Установите sqlite-devel (или libsqlite3-dev на некоторые системы на базе Debian)
  2. повторно сконфигурирован и перекомпилирован Python с ./configure --enable-loadable-sqlite-extensions && make && sudo make install

Это то, что я сделал, чтобы заставить его работать.

Я использую pythonbrew (который использует pip) с установленным python 2.7.5.

Сначала я сделал то, что сказал Зубаир (выше) и выполнил эту команду:

 sudo apt-get install libsqlite3-dev 

Затем я выполнил следующую команду:

 pip install pysqlite 

Это фиксировало проблему с базой данных, и я получил подтверждение об этом, когда я побежал:

 python manager.py syncdb 

Мой _sqlite3.so находится в /usr/lib/python2.5/lib-dynload/_sqlite3.so. Судя по вашим путям, у вас должен быть файл /usr/local/lib/python2.5/lib-dynload/_sqlite3.so.

Попробуйте следующее:

 find /usr/local -name _sqlite3.so 

Если файл не найден, что-то может быть неправильным при установке Python. Если это так, убедитесь, что путь, на который он установлен, находится в пути Python. В оболочке Python,

 import sys print sys.path 

В моем случае, /usr/lib/python2.5/lib-dynload находится в списке, поэтому он может найти /usr/lib/python2.5/lib-dynload/_sqlite3.so.

  1. Установите пакет sqlite-devel :

    yum install sqlite-devel -y

  2. Перекомпилируйте python из источника:

     ./configure make make altinstall 

Недавно я попробовал установить python 2.6.7 на рабочий стол Ubuntu 11.04 для некоторых разработчиков. Применили похожие проблемы к этой теме. Я мама, чтобы исправить это:

  1. Настройка файла setup.py для включения правильного пути devl sqlite. Фрагмент кода из setup.py:

     def sqlite_incdir: sqlite_dirs_to_check = [ os.path.join(sqlite_incdir, '..', 'lib64'), os.path.join(sqlite_incdir, '..', 'lib'), os.path.join(sqlite_incdir, '..', '..', 'lib64'), os.path.join(sqlite_incdir, '..', '..', 'lib'), '/usr/lib/x86_64-linux-gnu/' ] 

    С битом, который я добавил, был '/ usr / lib / x86_64-linux-gnu /'.

  2. После запуска make я не получил никаких предупреждений о том, что поддержка sqlite не была построена (т. ImportError: No module named _sqlite3" whe running "import sqlite3 Построена правильно: P), но после запуска make install sqlite3 все еще не импортировал с тем же « ImportError: No module named _sqlite3" whe running "import sqlite3 ».

    Итак, библиотека была скомпилирована, но не перешла на правильный путь установки, поэтому я скопировал файл .so ( cp /usr/src/python/Python-2.6.7/build/lib.linux-x86_64-2.6/_sqlite3.so /usr/local/python-2.6.7/lib/python2.6/sqlite3/ – это мои пути сборки, вам, вероятно, придется настроить их на свою настройку).

Вуаля! Поддержка SQLite3 теперь работает.

У меня была такая же проблема с Python 3.5 на Ubuntu при использовании pyenv .

Если вы устанавливаете python с помощью pyenv , он указан как одна из общих проблем сборки . Чтобы решить эту проблему, удалите установленную версию python, установите требования (для этого конкретного случая libsqlite3-dev ), затем переустановите версию python.

Это работало для меня в Redhat Centos 6.5:

 yum install sqlite-devel pip install pysqlite 

У меня проблема во FreeBSD 8.1:

 - No module named _sqlite3 - 

Он разрешен стендом порта ———-

 /usr/ports/databases/py-sqlite3 

после этого можно увидеть:

 OK ---------- '>>>' import sqlite3 ----- '>>>' sqlite3.apilevel ----- '2.0' 

Проверка файла settings.py. Вы не просто писали «sqlite» вместо «sqlite3» для механизма базы данных?

Я обнаружил, что многие люди сталкиваются с этой проблемой, потому что Multi-версия Python, на моем собственном vps (cent os 7 x64), я решил это так:

  1. Найдите файл "_sqlite3.so"

     find / -name _sqlite3.so 

    out: /usr/lib64/python2.7/lib-dynload/_sqlite3.so

  2. Найдите каталог стандартной библиотеки python, которую вы хотите использовать,

    для меня /usr/local/lib/python3.6/lib-dynload

  3. Скопируйте файл:

     cp /usr/lib64/python2.7/lib-dynload/_sqlite3.so /usr/local/lib/python3.6/lib-dynload 

Наконец, все будет в порядке.

Установлен ли пакет python-pysqlite2 ?

 sudo apt-get install python-pysqlite2 

вы должны быть в centos или redhat и скомпилировать python самостоятельно, это ошибка python сделать это в вашем исходном коде python и сделать это ниже

 curl -sk https://gist.github.com/msabramo/2727063/raw/59ea097a1f4c6f114c32f7743308a061698b17fd/gistfile1.diff | patch -p1 

У меня также была эта проблема для django 1.9, python3.5 и ubuntu 14.04 Я только что добавил sudo перед каждой командой, и это решило мой пример проблемы

 sudo python manage.py migrate sudo python manage.py runserver 

Загрузите sqlite3:

 wget http://www.sqlite.org/2016/sqlite-autoconf-3150000.tar.gz 

Выполните следующие шаги для установки:

 $tar xvfz sqlite-autoconf-3071502.tar.gz $cd sqlite-autoconf-3071502 $./configure --prefix=/usr/local $make install 

Вам нужно установить pysqlite в среду python:

  $ pip install pysqlite 
  • Что такое эффективный способ вставки тысяч записей в таблицу SQLite с помощью Django?
  • Python, SQLite и потоки
  • Создание таблицы в базе данных Sqlite с помощью Genie?
  • Как вы избегаете строк для имен таблицы / столбцов SQLite в Python?
  • Как я могу ссылаться на столбцы по их именам в python, вызывающем SQLite?
  • Как вставить мою базу данных в таблицу QTableWidget?
  • python database / sql programming - с чего начать
  • drop table в python с sqlite3
  • Могут ли два процесса одновременно работать в базе данных (: memory :) sqlite database?
  • Подстановка параметров для предложения SQLite "IN"
  • Mongodb - проблемы надежности еще важны?
  •  
    Interesting Posts for Van-Lav

    Почему плагин Python повышает значение ValueError для некоторых очень длинных входов?

    Обновление до Django 1.7. Ошибка при получении: невозможно выполнить сериализацию: <storages.backends.s3boto.S3BotoStorage object

    Ошибка SSL возникает на одном компьютере, но не в другом?

    Django уникальный, пустой и пустой CharField, дающий ошибку «уже существует» на странице администратора

    Проверка стиля кода Pycharm: игнорировать / отключать определенные правила

    Как общаться с шахматным движком в Python?

    Ошибка проверки Django Значение u "'' должно быть десятичным числом."

    TypeError: неподдерживаемый тип операндов для%: 'NoneType' и 'str'

    Как правильно использовать ndb KeyProperty в этой ситуации?

    Изменение списка во время итерации по нему – почему бы и нет?

    Как сделать виджет в центре экрана в PySide / PyQt?

    Расчеты Китона неверны

    AWS Elastic Beanstalk не использует мой virtualenv: «Без модуля с именем boto»

    Ограничить доступ App Engine к учетным записям G Suite в настраиваемом домене

    Удалить и игнорировать все файлы с расширением из репозитория git

    Python - лучший язык программирования в мире.