Saya mencoba menjalankan aplikasi Django di VPS saya yang menjalankan Debian 5. Ketika saya menjalankan aplikasi demo, ia kembali dengan kesalahan ini:
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
Melihat instalasi Python, ia memberikan kesalahan yang sama:
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
>>>
Membaca di web, saya belajar bahwa Python 2.5 harus datang dengan semua pembungkus SQLite yang diperlukan . Apakah saya perlu menginstal ulang Python, atau adakah cara lain untuk menjalankan dan menjalankan modul ini?
python
sqlite
debian
python-import
Alexander van Dijk
sumber
sumber
Jawaban:
Tampaknya makefile Anda tidak menyertakan
.so
file yang sesuai . Anda dapat memperbaiki masalah ini dengan langkah-langkah di bawah ini:sqlite-devel
(ataulibsqlite3-dev
pada beberapa sistem berbasis Debian)./configure --enable-loadable-sqlite-extensions && make && sudo make install
Catatan
Bagian
sudo make install
akan menetapkan bahwa versi python menjadi standar seluruh sistem, yang dapat memiliki konsekuensi yang tidak terduga. Jika Anda menjalankan perintah ini di workstation Anda, Anda mungkin ingin menginstalnya bersama python yang ada, yang dapat dilakukan dengansudo make altinstall
.sumber
sqlite-devel
? Saya pada disesuaikan linux system.I hanya downloadsqlite-autoconf-3100200.tar.gz
dan menjalankan./configure
,make && make install
. Setelah saya mengkompilasi ulang python3 itu masih tidak berfungsi.Saya memiliki masalah yang sama (membangun
python2.5
dari sumber di Ubuntu Lucid), danimport sqlite3
melemparkan pengecualian yang sama ini. Saya telah menginstallibsqlite3-dev
dari manajer paket, mengkompilasi ulang python2.5, dan kemudian impor bekerja.sumber
Saya memiliki masalah yang sama dengan Python 3.5 di Ubuntu saat menggunakan pyenv .
Jika Anda menginstal python menggunakan pyenv , itu terdaftar sebagai salah satu masalah build yang umum . Untuk mengatasinya, hapus versi python yang diinstal, instal persyaratan (untuk kasus khusus ini
libsqlite3-dev
), lalu instal ulang versi python.sumber
Inilah yang saya lakukan untuk membuatnya bekerja.
Saya menggunakan pythonbrew (yang menggunakan pip) dengan python 2.7.5 diinstal.
Saya pertama kali melakukan apa yang Zubair (atas) katakan dan menjalankan perintah ini:
Lalu saya menjalankan perintah ini:
Ini memperbaiki masalah database dan saya mendapat konfirmasi tentang ini ketika saya menjalankan:
sumber
yum install sqlite-devel
bukan baris pertama.pysqlite
sekarangsqlite3
dalam Python 3, dan Anda tidak bisa melakukannyapip -m install
.pysqlite is not supported on Python 3. When using Python 3, use the sqlite3 module from the standard library
Instal
sqlite-devel
paket:yum install sqlite-devel -y
Kompilasi ulang python dari sumber:
sumber
_Sqlite3.so saya ada di /usr/lib/python2.5/lib-dynload/_sqlite3.so. Menilai dari jalur Anda, Anda harus memiliki file /usr/local/lib/python2.5/lib-dynload/_sqlite3.so.
Coba yang berikut ini:
Jika file tidak ditemukan, ada sesuatu yang salah dengan instalasi Python Anda. Jika ya, pastikan jalur yang dipasangnya berada di jalur Python. Dalam shell Python,
Dalam kasus saya, /usr/lib/python2.5/lib-dynload ada dalam daftar, jadi ia dapat menemukan /usr/lib/python2.5/lib-dynload/_sqlite3.so.
sumber
Saya baru-baru ini mencoba menginstal python 2.6.7 pada desktop Ubuntu 11.04 saya untuk beberapa pekerjaan dev. Datang di masalah yang sama dengan utas ini. Saya telah memperbaikinya dengan:
Menyesuaikan file setup.py untuk menyertakan jalur dev sqlite yang benar. Cuplikan kode dari setup.py:
Dengan bit yang saya tambahkan adalah '/ usr / lib / x86_64-linux-gnu /'.
Setelah menjalankan make, saya tidak mendapatkan peringatan yang mengatakan bahwa dukungan sqlite tidak dibangun (yaitu, ia dibangun dengan benar: P), tetapi setelah dijalankan
make install
, sqlite3 masih tidak mengimpor dengan "ImportError: No module named _sqlite3" whe running "import sqlite3
" yang sama .Jadi, perpustakaan sudah dikompilasi, tetapi tidak dipindahkan ke jalur instalasi yang benar, jadi saya menyalin
.so
file (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/
- ini adalah jalur build saya, Anda mungkin perlu menyesuaikannya dengan pengaturan Anda).Voila! Dukungan SQLite3 sekarang berfungsi.
sumber
Saya menemukan banyak orang menemui masalah ini karena Multi-versi Python, pada vps saya sendiri (cent os 7 x64), saya menyelesaikannya dengan cara ini:
Temukan file "_sqlite3.so"
di luar:
/usr/lib64/python2.7/lib-dynload/_sqlite3.so
Temukan dir dari python Standard library yang ingin Anda gunakan,
untuk saya
/usr/local/lib/python3.6/lib-dynload
Salin file:
Akhirnya, semuanya akan beres.
sumber
ImportError: dynamic module does not define module export function (PyInit__sqlite3)
pada CentOS 7..so
tidak bisa digunakan untuk py3.6.4? @xtluoImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
Ini bekerja untuk saya di Redhat Centos 6.5:
sumber
python saya adalah membangun dari sumber, penyebabnya adalah opsi yang hilang ketika exec mengkonfigurasi versi python : 3.7.4
tetap
sumber
Saya memiliki masalah di FreeBSD 8.1:
Itu diselesaikan dengan berdiri port ----------
setelah ini dapat melihat:
sumber
Apakah paket python-pysqlite2 diinstal?
sumber
Memeriksa file settings.py Anda. Apakah Anda tidak hanya menulis "sqlite" alih-alih "sqlite3" untuk mesin database?
sumber
sqlite3
dikirimkan dengan Python. Saya juga memiliki masalah yang sama, saya hanya menghapuspython3.6
dan menginstalnya lagi.Copot python yang ada:
Instal python3.6:
sumber
Anda harus dalam centos atau redhat dan kompilasi sendiri python, itu adalah bug python lakukan ini dalam kode sumber python Anda dan lakukan ini di bawah
sumber
Saya mendapat masalah yang sama, tidak ada yang berhasil bagi saya dari ans di atas, tetapi sekarang saya memperbaikinya
hanya menghapus
python.pip
dansqlite3
dan instal ulangsudo apt-get remove python.pip
sudo apt-get remove sqlite3
sekarang instal lagi
sudo apt-get install python.pip
sudo apt-get install sqlite3
dalam kasus saya saat menginstal
sqlite3
lagi itu menunjukkan beberapa kesalahan lalu saya mengetiksqlite3
di terminal untuk memeriksa apakah telah dihapus atau tidak dan mulai membongkar
setelah
sqlite3
terminal kebakaran diinstal dan menulissqlite3
database.db
(untuk membuat database)Saya yakin ini pasti akan membantu Anda
sumber
Menempatkan jawaban bagi siapa saja yang mendarat di halaman ini mencari solusi untuk OS Windows:
Anda harus menginstal pysqlite3 atau db-sqlite3 jika belum diinstal. Anda dapat menggunakan berikut ini untuk menginstal.
Bagi saya masalahnya adalah dengan file DLL dari sqlite3.
Larutan:
Saya mengambil file DLL dari situs sqlite . Ini mungkin bervariasi berdasarkan versi instalasi python Anda.
Saya menempelkannya di direktori DLL dari env. bagi saya itu adalah "C: \ Anaconda \ Lib \ DLLs", tetapi periksa milik Anda.
sumber
Saya kecewa masalah ini masih ada sampai hari ini. Karena saya baru-baru ini mencoba untuk menginstal vCD CLI pada CentOS 8.1 dan saya disambut dengan kesalahan yang sama ketika mencoba menjalankannya. Cara saya harus menyelesaikannya dalam kasus saya adalah sebagai berikut:
Seperti yang telah saya lakukan ini untuk membuat posting blog yang berbeda tentang cara menginstal vCD CLI dan VMware Container Service Extension. Saya akhirnya menangkap langkah-langkah yang saya gunakan untuk memperbaiki masalah dan meletakkannya di posting blog terpisah di:
http://www.virtualizationteam.com/cloud/running-vcd-cli-fail-with-the-following-error-modulenotfounderror-no-module-named-_sqlite3.html
Saya harap ini membantu, karena sementara tips di atas telah membantu saya mendapatkan solusi, saya harus menggabungkan beberapa dari mereka dan sedikit memodifikasinya.
sumber
Unduh sqlite3:
Ikuti langkah-langkah ini untuk menginstal:
sumber
Anda perlu menginstal pysqlite di lingkungan python Anda:
sumber
Coba salin
_sqlite3.so
agar Python dapat menemukannya.Itu harus sesederhana:
Percayalah padaku, cobalah.
sumber