web-dev-qa-db-ja.com

python3.6インポートsqlite3エラー

Python3.6をubuntu16.04にインストールし、sqlite3をインストールしました。 python2ではsqliteを正常にインポートできますが、python3ではインポートエラーが発生しました。 Googleから多くの方法を試しましたが、まだ機能しません。私はそれを解決する方法を知りたいです。

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'
11
dragon

Python3とsqliteは自分でインストールできます。 これを試してください。

または、次のようにして試すことができます。

 1。 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 
 
4
ismtlee

sqlite3には、python自体が付属します。また、python3.6を再インストールします。

既存のPythonをアンインストールします。

Sudo apt-get remove --purge python3.6

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

できます!

3