DEV Community

sxpstls
sxpstls

Posted on • Updated on

Python 3.x No module named _sqlite3 [without root]

Error no module _sqlite3

Shortcut:

  • Download Python (source tar.gz)
  • Install using Prefix option & --enable-optimizations --enable-loadable-sqlite-extensions
  • Find _sqlite3*.so file then copy into your working dir
  • Run your script

----- Optional to read -----

Kemaren itu diminta migrasi aplikasi yang pernah gw buat, ke server lain. Nih aplikasi kebetulan basenya python.
Ceritanya semua requirement dan kebutuhannya disiapkan si client, dari Python sampai library-librarynya, gw cuma
Menyiapkan list kebutuhannya aja.

dependencies-lib

Setelah tektokan panjang dengan sysadmin si client, mereka konfirmasi kalau semua package dan lib sudah selesai diinstallkan. Setelah script di runing ternyata masih fail, dan setelah dicheck ternyata ada library yang belum di temukan oleh si python.

lalala

Akhirnya minta diinstallin, dan dikonfirm sudah selesai diinstall untuk package sqlite3 & sqlite3-devel.

Dicoba lagi, dan ternyata masih error yang sama, No module named '_sqlite3'
Hmmm, setelah googling-googling ternyata ga bisa langsung dipakai, kata orang-orang sih si pythonnya mesti dicompile ulang setelah si sqlite3 & sqlite3-devel diinstall.
Akhirnya kita infokan kembali klo masih ada problem, dan dikasih tau juga kira-kira ngesolvingnya begini…(kasih link stackoverflow)
Balasan tak kunjung tiba, akhirnya coba oprekin sendiri deh. Btw, kita ga punya akses root, jadi ya dicoba-coba & utak atik dulu aja, sape tau bisa. Paling coba install python sendiri (pake opsi prefix supaya ga nulis di dir yang ga dibolehkan).

  1. Gw download python sesuai kebutuhan yang versi source .tar.gz
  2. Gw install dengan opsi ./configure --enable-optimizations --enable-loadable-sqlite-extensions --prefix=[dir yang bisa di tulis]
  3. make ; make install
  4. Check2 hasil installnya dan cari file sqlite3.so

  5. nah ketemu nih, tinggal coba di copy file so itu, ke dir aktif, buat ngetest dulu.

error sqlite3

copy & run import sqlite3

Bisa keliatan, sebelum di copy (line paling atas) hasilnya error, tapi setelah tuh file .so di copy, akhirnya ga error lagi.

  1. Selanjutnya, gw coba copy file .so tersebut ke direktori yang sama dengan script, dan gw runing scriptnya. Alhasil, script bisa di runing dan udh ga ada eror lagi.
  2. Update progressnya ke client, infoin kalo aplikasi sudah bisa digunakan kembali, dan aplikasi sudah berjalan menggunakan server yang baru.

Ya begitu deh, karena udeh ngebet, daripada kelamaan, biar bisa ngerjain kerjaan yang lain, mending di oprekin sendiri. Untungnya kelar, klo engga, ya ga bakalan ngepost ini :))

Top comments (0)