Как я могу импортировать модуль sqlite3 в Python 2.4?

Модуль sqlite3 включен в Python версии 2.5+. Однако я застрял на версии 2.4. Я загрузил файлы модуля sqlite3, добавил каталог в sys.path, но при попытке импортировать его получаю следующую ошибку:

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "sqlite3/__init__.py", line 23, in ?
    from dbapi2 import *
  File "sqlite3/dbapi2.py", line 26, in ?
    from _sqlite3 import *
ImportError: No module named _sqlite3

Файл _sqlite3 находится в lib-dynload, но если я включу его в каталог sqlite3, я получу дополнительные ошибки.

Какие-либо предложения? Я работаю в ограниченной среде; У меня нет доступа к GCC, между прочим.


person Tony    schedule 25.04.2009    source источник
comment
Установить libsqlite3-dev Источник: superuser.com/questions/122140/   -  person inakiabt    schedule 04.01.2013


Ответы (4)


У меня была такая же проблема с CentOS и python 2.4.

Мое решение:

yum install python-sqlite2

и попробуйте выполнить код Python

try:
    import sqlite3
except:
    from pysqlite2 import dbapi2 as sqlite3
person Community    schedule 05.06.2009
comment
Можно установить sqlite в Python 2.4 независимо от дистрибутива Linux с помощью easy_install pysqlite (просто позаботьтесь о том, чтобы не смешивать системные пакеты с пакетами Python, т.е. просто выполните простую установку в virtualenv или если пакет не существует для вашего Linux). После этого последовательность импорта в этом ответе в порядке. - person jsbueno; 07.08.2013

Вы его установили? Это часто работает лучше, чем возиться с sys.path.

python setup.py install

Если да, то вы должны найти его.

Если по какой-то причине вы не можете его установить, установите переменную окружения PYTHONPATH. Не имейте привычки возиться с sys.path.

person S.Lott    schedule 25.04.2009

Вам потребуется установить pysqlite. Заметьте, однако, что для этого абсолютно необходим компилятор, если вы не можете найти его двоичные файлы (и Python 2.4) в сети. Использование бинарных файлов версии 2.5 будет невозможно.

person Martin v. Löwis    schedule 25.04.2009
comment
Поскольку у меня нет компилятора, это невозможно. Я надеялся, что Python будет более переносимым; Мне придется продолжать взаимодействовать с SQLite с помощью командной строки. - person Tony; 25.04.2009

Вы должны сначала убедиться, что ваши sqlite, sqlite-devel, python-sqlite установлены правильно, а затем перекомпилировать Python.

person syshack    schedule 04.12.2011
comment
Вам не нужно перекомпилировать установку Python, чтобы решить эту проблему... достаточно просто переустановить sqlite, sqlite-devel и python-sqlite. Если, конечно, вы не имели в виду повторный запуск скрипта. - person CodeMouse92; 04.12.2011