Estou tentando executar um aplicativo Django no meu VPS executando o Debian 5. Quando executo um aplicativo de demonstração, ele volta com este erro:
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
Observando a instalação do Python, ocorre o mesmo erro:
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
>>>
Lendo na Web, eu aprendi que o Python 2.5 deve vir com todos os wrappers SQLite necessários incluídos. Preciso reinstalar o Python ou existe outra maneira de colocar esse módulo em funcionamento?
python
sqlite
debian
python-import
Alexander van Dijk
fonte
fonte
Respostas:
Parece que seu makefile não incluiu o
.so
arquivo apropriado . Você pode corrigir esse problema com as etapas abaixo:sqlite-devel
(oulibsqlite3-dev
em alguns sistemas baseados no Debian)./configure --enable-loadable-sqlite-extensions && make && sudo make install
Nota
A
sudo make install
parte definirá essa versão do python como o padrão em todo o sistema, o que pode ter conseqüências imprevistas. Se você executar este comando em sua estação de trabalho, provavelmente desejará instalá-lo juntamente com o python existente, o que pode ser feitosudo make altinstall
.fonte
sqlite-devel
? Eu estou em um personalizado linux sistema.I acabou de baixarsqlite-autoconf-3100200.tar.gz
e executar./configure
,make && make install
. Depois de recompilar o python3, ele ainda não está funcionando.Eu tive o mesmo problema (construindo a
python2.5
partir da fonte no Ubuntu Lucid) eimport sqlite3
joguei a mesma exceção. Instalei alibsqlite3-dev
partir do gerenciador de pacotes, recompilei o python2.5 e a importação funcionou.fonte
Eu tive o mesmo problema com o Python 3.5 no Ubuntu enquanto usava o pyenv .
Se você estiver instalando o python usando pyenv , ele será listado como um dos problemas comuns de compilação . Para resolvê-lo, remova a versão python instalada, instale os requisitos (para este caso em particular
libsqlite3-dev
) e reinstale a versão python.fonte
Foi isso que fiz para fazê-lo funcionar.
Estou usando pythonbrew (que está usando pip) com o python 2.7.5 instalado.
Primeiro fiz o que Zubair (acima) disse e executei este comando:
Então eu executei este comando:
Isso corrigiu o problema do banco de dados e eu recebi confirmação disso quando executei:
fonte
yum install sqlite-devel
vez da primeira linha.pysqlite
agora estásqlite3
no Python 3, e você não podepip -m install
.pysqlite is not supported on Python 3. When using Python 3, use the sqlite3 module from the standard library
Instale o
sqlite-devel
pacote:yum install sqlite-devel -y
Recompile o python da fonte:
fonte
Meu _sqlite3.so está em /usr/lib/python2.5/lib-dynload/_sqlite3.so. A julgar pelos seus caminhos, você deve ter o arquivo /usr/local/lib/python2.5/lib-dynload/_sqlite3.so.
Tente o seguinte:
Se o arquivo não for encontrado, algo pode estar errado com a instalação do Python. Se estiver, verifique se o caminho para o qual está instalado está no caminho do Python. No shell do Python,
No meu caso, /usr/lib/python2.5/lib-dynload está na lista, portanto, é possível encontrar /usr/lib/python2.5/lib-dynload/_sqlite3.so.
fonte
Recentemente, tentei instalar o python 2.6.7 no meu desktop Ubuntu 11.04 para algum trabalho de desenvolvimento. Me deparei com problemas semelhantes a este segmento. Eu mamei corrigi-lo por:
Ajustando o arquivo setup.py para incluir o caminho correto do desenvolvedor do sqlite. Snippet de código de setup.py:
Com o pouco que eu adicionei sendo '/ usr / lib / x86_64-linux-gnu /'.
Depois de executar o make, não recebi nenhum aviso dizendo que o suporte ao sqlite não foi construído (ou seja, ele foi criado corretamente: P), mas após a execução
make install
, o sqlite3 ainda não foi importado com o mesmo "ImportError: No module named _sqlite3" whe running "import sqlite3
".Portanto, a biblioteca foi compilada, mas não foi movida para o caminho de instalação correto, então copiei o
.so
arquivo (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/
- estes são meus caminhos de construção, você provavelmente precisará ajustá-los à sua configuração).Voila! O suporte ao SQLite3 agora funciona.
fonte
Eu encontrei muitas pessoas que enfrentam esse problema porque, em meus próprios vps (cent os 7 x64), o Python com várias versões, resolvi-o desta maneira:
Encontre o arquivo "_sqlite3.so"
Fora:
/usr/lib64/python2.7/lib-dynload/_sqlite3.so
Encontre o diretório da biblioteca padrão python que você deseja usar,
para mim
/usr/local/lib/python3.6/lib-dynload
Copie o arquivo:
Finalmente, tudo ficará bem.
fonte
ImportError: dynamic module does not define module export function (PyInit__sqlite3)
no CentOS 7..so
não pode ser usado para py3.6.4? @xtluoImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
Isso funcionou para mim no Redhat Centos 6.5:
fonte
meu python é construído a partir do código-fonte, faltam opções na causa quando o exec configura a versão python: 3.7.4
fixo
fonte
Eu tenho o problema no FreeBSD 8.1:
É resolvido pelo suporte a porta ----------
depois disso, podemos ver:
fonte
O pacote python-pysqlite2 está instalado?
fonte
Verificando seu arquivo settings.py. Você não escreveu apenas "sqlite" em vez de "sqlite3" para o mecanismo de banco de dados?
fonte
sqlite3
é enviado com Python. Eu também tive o mesmo problema, eu apenas desinstaleipython3.6
e instalei novamente.Desinstale o python existente:
Instale o python3.6:
fonte
você deve estar em centos ou redhat e compilar o python você mesmo; é erro do python fazer isso no diretório de código-fonte do python e fazer isso abaixo
fonte
Eu tenho o mesmo problema, nada funcionou para mim a partir das ans acima, mas agora eu o corrigi
basta remover
python.pip
esqlite3
e reinstalaçãosudo apt-get remove python.pip
sudo apt-get remove sqlite3
agora instale novamente
sudo apt-get install python.pip
sudo apt-get install sqlite3
no meu caso durante a instalação
sqlite3
novamente, mostrou algum erro, então eu digiteisqlite3
no terminal para verificar se foi removido ou não e começou a desembalar
uma vez
sqlite3
instalado o terminal de inicialização e escrevasqlite3
database.db
(para criar um banco de dados)Tenho certeza que isso definitivamente vai ajudá-lo
fonte
Colocando a resposta para quem chega nesta página procurando uma solução para o sistema operacional Windows:
Você precisa instalar o pysqlite3 ou o db-sqlite3, se ainda não estiver instalado. você pode usar o seguinte para instalar.
Para mim, o problema estava no arquivo DLL do sqlite3.
Solução:
Peguei o arquivo DLL do site sqlite . Isso pode variar com base na sua versão da instalação do python.
Eu colei no diretório DLL do env. para mim foi "C: \ Anaconda \ Lib \ DLLs", mas verifique o seu.
fonte
Fiquei decepcionado que esta questão ainda exista até hoje. Como recentemente tentei instalar o vCD CLI no CentOS 8.1 e fui recebido com o mesmo erro ao tentar executá-lo. A maneira que eu tive que resolvê-lo no meu caso é a seguinte:
Enquanto eu faço isso, crie um blog diferente sobre como instalar o vCD CLI e o VMware Container Service Extension. Acabei capturando as etapas que usei para corrigir o problema e colocá-lo em uma postagem de blog separada em:
http://www.virtualizationteam.com/cloud/running-vcd-cli-fail-with-the-following-error-modulenotfounderror-no-module-named-_sqlite3.html
Espero que seja útil, pois, embora as dicas acima tenham me ajudado a chegar a uma solução, tive que combinar algumas delas e modificá-las um pouco.
fonte
Faça o download do sqlite3:
Siga estas etapas para instalar:
fonte
Você precisa instalar o pysqlite no seu ambiente python:
fonte
Tente copiar
_sqlite3.so
para que o Python possa encontrá-lo.Deve ser tão simples quanto:
Confie em mim, tente.
fonte