I installed Python3.6 on ubuntu16.04 and installed sqlite3. When in python2, I can import sqlite successfully, but in python3 I got an import error. I tried many methods from Google, but it still doesn't work. I want to know how to solve it.
Python 3.6.0 (default, Mar 13 2017, 06:38:19)
[GCC 5.4.0 20160609] on linux
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/python3.6/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/lib/python3.6/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
Step 1 − Go to SQLite download page, and download precompiled binaries from Windows section. Step 2 − Download sqlite-shell-win32-*. Step 3 − Create a folder C:\>sqlite and unzip above two zipped files in this folder, which will give you sqlite3.
My _sqlite3.so is in /usr/lib/python2. 5/lib-dynload/_sqlite3. so. Judging from your paths, you should have the file /usr/local/lib/python2.
sqlite3
will comes with python itself. I also get the same problem i just uninstalled the python3.6
and installed again.
uninstall existing python:
sudo apt-get remove --purge python3.6
Install python3.6:
sudo apt install -y \
build-essential \
checkinstall
sudo apt install -y \
libreadline-gplv2-dev \
libncursesw5-dev \
libssl-dev \
libsqlite3-dev \
tk-dev \
libgdbm-dev \
libc6-dev \
libbz2-dev
PYTHON_VERSION=3.6.0
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz
tar xvf Python-${PYTHON_VERSION}.tar.xz
cd Python-${PYTHON_VERSION}/
./configure
sudo make altinstall
It works!
You can install python3 and sqlite by yourself. try this.
Or you can try it as follows,
1. install sqlite3 $ wget https://www.sqlite.org/2017/sqlite-autoconf-3170000.tar.gz --no-check-certificate $ tar zxvf sqlite-autoconf-3170000.tar.gz $ cd sqlite-autoconf-3170000 $ ./configure --prefix=/usr/local/sqlite3 --disable-static --enable-fts5 --enable-json1 CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_RTREE=1" 2. install python3.6 $ cd Python-3.6.0 $ LD_RUN_PATH=/usr/local/sqlite3/lib ./configure --prefix=/usr/local/python3.6 LDFLAGS="-L/usr/local/sqlite3/lib" CPPFLAGS="-I /usr/local/sqlite3/include" $ LD_RUN_PATH=/usr/local/sqlite3/lib make $ LD_RUN_PATH=/usr/local/sqlite3/lib make install
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With