Estoy tratando de ejecutar una aplicación Django en mi VPS con Debian 5. Cuando ejecuto una aplicación de demostración, aparece este error:
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
Mirando la instalación de Python, da el mismo error:
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
>>>
Leyendo en la web, aprendo que Python 2.5 debería venir con todos los contenedores SQLite necesarios incluidos. ¿Necesito reinstalar Python o hay otra forma de poner este módulo en funcionamiento?
python
sqlite
debian
python-import
Alexander van Dijk
fuente
fuente
Respuestas:
Parece que su archivo MAKE no incluyó el
.so
archivo apropiado . Puede corregir este problema con los pasos a continuación:sqlite-devel
(olibsqlite3-dev
en algunos sistemas basados en Debian)./configure --enable-loadable-sqlite-extensions && make && sudo make install
Nota
La
sudo make install
parte establecerá que la versión de Python sea el estándar de todo el sistema, lo que puede tener consecuencias imprevistas. Si ejecuta este comando en su estación de trabajo, es probable que desee tenerlo instalado junto con el python existente, lo que se puede hacer consudo make altinstall
.fuente
sqlite-devel
? Estoy en un sistema Linux personalizado system.I acaba de descargarsqlite-autoconf-3100200.tar.gz
y ejecutar./configure
,make && make install
. Después de recompilar python3 todavía no funciona.Tuve el mismo problema (compilando
python2.5
desde la fuente en Ubuntu Lucid), yimport sqlite3
lancé esta misma excepción. Lo instalélibsqlite3-dev
desde el administrador de paquetes, recompilé python2.5 y luego funcionó la importación.fuente
Tuve el mismo problema con Python 3.5 en Ubuntu mientras usaba pyenv .
Si está instalando Python usando pyenv , aparece como uno de los problemas de compilación más comunes . Para resolverlo, elimine la versión de python instalada, instale los requisitos (para este caso en particular
libsqlite3-dev
), luego reinstale la versión de python.fuente
Esto es lo que hice para que funcione.
Estoy usando pythonbrew (que está usando pip) con python 2.7.5 instalado.
Primero hice lo que dijo Zubair (arriba) y ejecuté este comando:
Luego ejecuté este comando:
Esto solucionó el problema de la base de datos y obtuve confirmación de esto cuando ejecuté:
fuente
yum install sqlite-devel
lugar de la primera línea.pysqlite
ahora estásqlite3
en Python 3, y no puedes hacerlopip -m install
.pysqlite is not supported on Python 3. When using Python 3, use the sqlite3 module from the standard library
Instala el
sqlite-devel
paquete:yum install sqlite-devel -y
Recompile Python desde la fuente:
fuente
Mi _sqlite3.so está en /usr/lib/python2.5/lib-dynload/_sqlite3.so. A juzgar por sus rutas, debe tener el archivo /usr/local/lib/python2.5/lib-dynload/_sqlite3.so.
Intenta lo siguiente:
Si no se encuentra el archivo, algo puede estar mal con su instalación de Python. Si es así, asegúrese de que la ruta en la que está instalado esté en la ruta de Python. En el shell de Python,
En mi caso, /usr/lib/python2.5/lib-dynload está en la lista, por lo que puede encontrar /usr/lib/python2.5/lib-dynload/_sqlite3.so.
fuente
Recientemente intenté instalar python 2.6.7 en mi escritorio Ubuntu 11.04 para algunos trabajos de desarrollo. Encontré problemas similares a este hilo. Me he dañado para arreglarlo:
Ajuste del archivo setup.py para incluir la ruta de desarrollo sqlite correcta. Fragmento de código de setup.py:
Con el bit que agregué es '/ usr / lib / x86_64-linux-gnu /'.
Después de ejecutar make, no recibí ninguna advertencia que dijera que el soporte de sqlite no se creó (es decir, se compiló correctamente: P), pero después de ejecutar
make install
, sqlite3 aún no se importó con el mismo "ImportError: No module named _sqlite3" whe running "import sqlite3
".Por lo tanto, la biblioteca se compiló, pero no se movió a la ruta de instalación correcta, por lo que copié el
.so
archivo (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/
estas son mis rutas de compilación, probablemente deba ajustarlas a su configuración).Voila! El soporte de SQLite3 ahora funciona.
fuente
Encontré que muchas personas enfrentan este problema porque el Python de versiones múltiples, en mi propio vps (cent os 7 x64), lo resolví de esta manera:
Encuentra el archivo "_sqlite3.so"
fuera:
/usr/lib64/python2.7/lib-dynload/_sqlite3.so
Encuentre el directorio de la biblioteca estándar de Python que desea usar,
para mi
/usr/local/lib/python3.6/lib-dynload
Copia el archivo:
Finalmente, todo estará bien.
fuente
ImportError: dynamic module does not define module export function (PyInit__sqlite3)
en CentOS 7..so
no se puede usar para py3.6.4? @xtluoImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
Esto funcionó para mí en Redhat Centos 6.5:
fuente
mi python está construido desde la fuente, la causa es la falta de opciones cuando el ejecutivo configura la versión de python: 3.7.4
fijo
fuente
Tengo el problema en FreeBSD 8.1:
Se resuelve por soporte el puerto ----------
después de esto se puede ver:
fuente
¿ Está instalado el paquete python-pysqlite2 ?
fuente
Comprobando su archivo settings.py. ¿No escribió simplemente "sqlite" en lugar de "sqlite3" para el motor de base de datos?
fuente
sqlite3
Se envía con Python. También tuve el mismo problema, simplemente lo desinstalépython3.6
y lo instalé nuevamente.Desinstalar python existente:
Instala python3.6:
fuente
debe estar en centos o redhat y compilar Python usted mismo, es un error de Python hacer esto en su directorio de código fuente de Python y hacer esto a continuación
fuente
Tengo el mismo problema, nada me funcionó de lo anterior y ahora lo solucioné por
basta con retirar
python.pip
ysqlite3
y reinstalaciónsudo apt-get remove python.pip
sudo apt-get remove sqlite3
ahora instálalo de nuevo
sudo apt-get install python.pip
sudo apt-get install sqlite3
en mi caso, mientras
sqlite3
volvía a instalar , mostró algún error y luego escribísqlite3
en la terminal para verificar si se quitó o no y comenzó a desempaquetarlo
una vez
sqlite3
instalado el terminal de encendido y escribesqlite3
database.db
(para crear una base de datos)Estoy seguro de que esto definitivamente te ayudará
fuente
Poniendo respuesta para cualquiera que llegue a esta página buscando una solución para el sistema operativo Windows:
Debe instalar pysqlite3 o db-sqlite3 si aún no está instalado. puede usar lo siguiente para instalar.
Para mí, el problema era con el archivo DLL de sqlite3.
Solución:
Tomé el archivo DLL del sitio sqlite . Esto puede variar según su versión de instalación de Python.
Lo pegué en el directorio DLL del env. para mí fue "C: \ Anaconda \ Lib \ DLLs", pero verifique el suyo.
fuente
Me decepcionó que este problema aún exista hasta hoy. Como he estado intentando instalar vCD CLI recientemente en CentOS 8.1 y recibí el mismo error cuando intenté ejecutarlo. La forma en que tuve que resolverlo en mi caso es la siguiente:
Como he estado haciendo esto para crear una publicación de blog diferente sobre cómo instalar vCD CLI y VMware Container Service Extension. Terminé capturando los pasos que usé para solucionar el problema y lo puse en una publicación de blog separada en:
http://www.virtualizationteam.com/cloud/running-vcd-cli-fail-with-the-following-error-modulenotfounderror-no-module-named-_sqlite3.html
Espero que esto sea útil, ya que si bien los consejos anteriores me ayudaron a encontrar una solución, tuve que combinar algunos de ellos y modificarlos un poco.
fuente
Descargar sqlite3:
Siga estos pasos para instalar:
fuente
Necesita instalar pysqlite en su entorno python:
fuente
Intenta copiar
_sqlite3.so
para que Python pueda encontrarlo.Debería ser tan simple como:
Confía en mí, pruébalo.
fuente