Я пытаюсь запустить приложение 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 или есть другой способ запустить и запустить этот модуль?
python
sqlite
debian
python-import
Александр ван Дейк
источник
источник
Ответы:
Кажется, ваш make-файл не включал соответствующий
.so
файл. Вы можете исправить эту проблему, выполнив следующие действия:sqlite-devel
(илиlibsqlite3-dev
в некоторых системах на основе Debian)./configure --enable-loadable-sqlite-extensions && make && sudo make install
Заметка
Эта
sudo make install
часть установит эту версию Python в качестве общесистемного стандарта, что может иметь непредвиденные последствия. Если вы запустите эту команду на своей рабочей станции, вы, вероятно, захотите установить ее вместе с существующим питоном, что можно сделать с помощьюsudo make altinstall
.источник
sqlite-devel
? Я на настраиваемой Linux system.I только что скачалиsqlite-autoconf-3100200.tar.gz
и запустить./configure
,make && make install
. После перекомпиляции python3 он все еще не работает.У меня была такая же проблема (сборка
python2.5
из исходного кода на Ubuntu Lucid), и яimport sqlite3
выбросил то же исключение. Я установилlibsqlite3-dev
из диспетчера пакетов, перекомпилировал python2.5, а затем импорт сработал.источник
У меня была та же проблема с Python 3.5 на Ubuntu при использовании pyenv .
Если вы устанавливаете python с использованием pyenv , он указан как одна из распространенных проблем сборки . Чтобы решить эту проблему, удалите установленную версию Python, установите требования (для данного конкретного случая
libsqlite3-dev
), а затем переустановите версию Python.источник
Это то, что я сделал, чтобы заставить его работать.
Я использую pythonbrew (который использует pip) с установленным python 2.7.5.
Сначала я сделал то, что сказал Zubair (выше), и выполнил эту команду:
Затем я запустил эту команду:
Это решило проблему с базой данных, и я получил подтверждение этого, когда запустил:
источник
yum install sqlite-devel
вместо первой строки.pysqlite
теперьsqlite3
в Python 3, и вы не можетеpip -m install
этого сделать.pysqlite is not supported on Python 3. When using Python 3, use the sqlite3 module from the standard library
Установите
sqlite-devel
пакет:yum install sqlite-devel -y
Перекомпилируйте python из исходного кода:
источник
Мой _sqlite3.so находится в /usr/lib/python2.5/lib-dynload/_sqlite3.so. Судя по вашим путям, у вас должен быть файл /usr/local/lib/python2.5/lib-dynload/_sqlite3.so.
Попробуйте следующее:
Если файл не найден, возможно, что-то не так с вашей установкой Python. Если это так, убедитесь, что путь, по которому он установлен, находится в пути Python. В оболочке Python
В моем случае /usr/lib/python2.5/lib-dynload находится в списке, поэтому он может найти /usr/lib/python2.5/lib-dynload/_sqlite3.so.
источник
Недавно я попытался установить python 2.6.7 на свой рабочий стол Ubuntu 11.04 для некоторых разработок. Наткнулся на похожие проблемы в этой теме. Я сделал это, чтобы исправить это:
Корректировка файла setup.py для включения правильного пути к sqlite dev. Фрагмент кода из setup.py:
С битом, который я добавил, был '/ usr / lib / x86_64-linux-gnu /'
После запуска make я не получил никаких предупреждений о том, что поддержка sqlite не была собрана (т. Е. Правильно скомпонована: 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 теперь работает.
источник
Я обнаружил, что многие люди сталкиваются с этой проблемой, потому что Multi-версия Python, на моем собственном vps (cent OS 7 x64), я решил ее следующим образом:
Найдите файл "_sqlite3.so"
вне:
/usr/lib64/python2.7/lib-dynload/_sqlite3.so
Найдите каталог стандартной библиотеки Python, который вы хотите использовать,
для меня
/usr/local/lib/python3.6/lib-dynload
Скопируйте файл:
Наконец-то все будет хорошо.
источник
ImportError: dynamic module does not define module export function (PyInit__sqlite3)
CentOS 7..so
нельзя использовать для py3.6.4? @xtluoImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
мой питон собран из исходного кода, причина в том, что в exec configure python version: 3.7.4 отсутствуют параметры
фиксированный
источник
Это сработало для меня в Redhat Centos 6.5:
источник
У меня проблема во FreeBSD 8.1:
Это решается стойкой порта ----------
после этого можно увидеть:
источник
Является ли питон-pysqlite2 установлен пакет?
источник
Проверка вашего файла settings.py. Вы не просто написали «sqlite» вместо «sqlite3» для ядра базы данных?
источник
sqlite3
поставляется с Python. У меня тоже была такая же проблема, я просто удалилpython3.6
и установил снова.Удалить существующий Python:
Установите python3.6:
источник
вы должны быть в centos или redhat и скомпилировать python самостоятельно , это ошибка python, сделайте это в dir исходного кода python и сделайте это ниже
источник
У меня та же проблема, у меня ничего не работало из вышеупомянутого ответа, но теперь я исправил ее
просто удалите
python.pip
иsqlite3
и переустановкаsudo apt-get remove python.pip
sudo apt-get remove sqlite3
теперь установите его снова
sudo apt-get install python.pip
sudo apt-get install sqlite3
в моем случае при
sqlite3
повторной установке возникла ошибка, после чего я набралsqlite3
на терминале, чтобы проверить, был ли он удален или нет, и он начал его распаковывать
как только
sqlite3
будет установлен терминал запуска и напишитеsqlite3
database.db
(для создания базы данных)Я уверен, это обязательно тебе поможет
источник
Ответ для всех, кто попадает на эту страницу в поисках решения для ОС Windows:
Вам необходимо установить pysqlite3 или db-sqlite3, если они еще не установлены. вы можете использовать следующее для установки.
Для меня проблема была в DLL-файле sqlite3.
Решение:
Я взял DLL файл с сайта sqlite . Это может варьироваться в зависимости от вашей версии установки python.
Я вставил его в каталог DLL файла env. для меня это был "C: \ Anaconda \ Lib \ DLLs", но проверьте свой.
источник
Я был разочарован, что эта проблема существует до сих пор. Поскольку я недавно пытался установить vCD CLI на CentOS 8.1, меня приветствовали с той же ошибкой при попытке запустить его. В моем случае мне пришлось решить эту проблему следующим образом:
Поскольку я делал это для создания другого сообщения в блоге о том, как установить vCD CLI и VMware Container Service Extension. В итоге я записал шаги, которые использовал для решения проблемы, и поместил их в отдельную запись в блоге по адресу:
http://www.virtualizationteam.com/cloud/running-vcd-cli-fail-with-the-following-error-modulenotfounderror-no-module-named-_sqlite3.html
Я надеюсь, что это было полезно, поскольку, хотя приведенные выше советы помогли мне найти решение, мне пришлось объединить несколько из них и немного изменить.
источник
Скачать sqlite3:
Для установки выполните следующие действия:
источник
Вам необходимо установить pysqlite в среду Python:
источник
Попробуйте скопировать
_sqlite3.so
чтобы Python смог его найти.Это должно быть так просто, как:
Поверь мне, попробуй это.
источник