23

sqlite3 error

import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.3/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/usr/local/lib/python3.3/sqlite3/dbapi2.py", line 26, in <module>
    from _sqlite3 import *
ImportError: No module named '_sqlite3'

i use sqlite3 install command

pip install pysqlite
Downloading/unpacking pysqlite
  Downloading pysqlite-2.6.3.tar.gz (76kB): 76kB downloaded
  Running setup.py egg_info for package pysqlite
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/usr/local/lib/python3.3/codecs.py", line 300, in decode
        (result, consumed) = self._buffer_decode(data, self.errors, final)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 98: invalid continuation byte 
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/usr/local/lib/python3.3/codecs.py", line 300, in decode

    (result, consumed) = self._buffer_decode(data, self.errors, final)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 98: invalid continuation byte

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/pysqlite
Storing complete log in /root/.pip/pip.log
Martin G
  • 17,357
  • 9
  • 82
  • 98
Droid
  • 1,410
  • 8
  • 23
  • 37
  • 1
    Do you have libsqlite3-dev installed? – sergzach Nov 21 '13 at 16:27
  • Try importing it outside of django. What happens? – yuvi Nov 21 '13 at 16:29
  • 1
    yes already installed libsqlite3-dev – Droid Nov 21 '13 at 16:35
  • python manage.py syncdb Traceback (most recent call last): File "/usr/local/lib/python3.3/site-packages/django/db/backends/sqlite3/base.py", line 29, in – Droid Nov 21 '13 at 16:42
  • I can not answer :((( I do not have enough to Ranked :(( – Droid Nov 21 '13 at 16:43
  • What platform? Do you have sqlite3 otherwise installed, say with homebrew or apt? – StevenC Jan 01 '14 at 20:41
  • Follow below steps 1) wget https://www.sqlite.org/2020/sqlite-autoconf-3310100.tar.gz 2) tar xvf sqlite-autoconf-3310100.tar.gz 3) cd sqlite-autoconf-3310100/ 4) ./configure --prefix=/usr 5) make install 6) Re-compile Python 3.X.X. Be sure run "make clean" before "make install" if you've already installed – ashwin Aug 27 '20 at 09:57

6 Answers6

35

I am a Fedora 20 user. To solve this:

  1. Install sqlite-devel package, using:

    yum install sqlite-devel
    
  2. After installing,recompile python from the source using:

    ./configure
    make && make install
    

For multiple versions of Python, use altinstall instead of install.

Arman H
  • 5,488
  • 10
  • 51
  • 76
Anshul Bisht
  • 1,644
  • 20
  • 21
12

I think it must be you not install sqlite3, you can do like this

 sudo apt-get install sqlite3  
 sqlite3 -version  
 sudo apt-get install python-pysqlite2  
 sudo apt-get install python-pysqlite2-dbg  
 sudo apt-get install libsqlite3-dev   
 sudo apt-get install sqlite  
 sudo pip install pysqlite 

then you will will find the sqlite3

Community
  • 1
  • 1
wcc526
  • 3,915
  • 2
  • 31
  • 29
9

For Python3 in Ubuntu:

  • sudo apt-get install libsqlite3-dev
  • wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz (replace the version number by your python3 version)
  • tar -xf Python-3.6.3.tar.xz
  • cd Python-3.6.3/
  • ./configure --enable-loadable-sqlite-extensions && make && sudo make install

refer: https://github.com/sloria/TextBlob/issues/173

R.Liu
  • 361
  • 3
  • 6
  • 2
    Beware that "make install" is not recommended as it may overwrite your system's Python version and some packages might depend on specific versions. It is recommended to use "make altinstall" to not overwrite /usr/bin/python3 but install it into /usr/local/bin/python3. See https://docs.python.org/3.7/using/unix.html#building-python for details! – macskay Oct 02 '19 at 14:03
7

The compile package is short of something,you should use yum to install these 5,and then recompile and install python3

yum install readline-devel
yum install tk-devel
yum install tcl-devel  
yum install openssl-devel   
yum install sqlite-devel 

and then recompile the python3

tar Jxvf  Python-3.5.0.tar.xz
cd Python-3.5.0
./configure --prefix=/usr/local/python3
make && make install
陈 章
  • 81
  • 1
  • 6
3

I touched this problem in using compiled 3.5.7

wget https://www.python.org/ftp/python/3.5.7/Python-3.5.7.tgz
tar xvfz Python-3.5.7.tgz
cd Python-3.5.7
./configure --enable-optimizations
sudo make altinstall
# python3.5
>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/usr/local/lib/python3.5/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: No module named '_sqlite3'

Solution:

yum install sqlite-devel
re-compile python 3.5 from source
0

Follow the below url to get ride of this error, Centos-Sqlite3-Error-GCP

kalaivani
  • 484
  • 1
  • 5
  • 8