2017-03-13 1 views
5

J'ai installé Python3.6 sur Ubuntu16.04 et installé sqlite3. Dans python2, je peux importer sqlite avec succès, mais dans python3 j'ai eu une erreur d'import. J'ai essayé de nombreuses méthodes de Google, mais cela ne fonctionne toujours pas. Je veux savoir comment le résoudre.python3.6 importation sqlite3 erreur

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' 
+3

Comment exactement avez-vous installé Python 3? Comment avez-vous installé le module SQLite exactement? –

+0

J'ai compilé le code source pour installer Pythhon 3.et installé sqlite avec "sudo apt-get install sqlite3" – dragon

+0

Je recommande que vous installiez vous-même à la place d'un paquet pré-compilé au lieu de compiler la source. Instructions ici: http://askubuntu.com/questions/865554/how-do-i-install-python-3-6-using-apt-get –

Répondre

2

Vous pouvez installer python3 et sqlite par vous-même. try this.

Ou vous pouvez l'essayer comme suit,

 
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 

+0

merci, j'ai installé python3.6 et sqlite comme ci-dessous, mais il ne fonctionne toujours pas.et puis j'ai trouvé python3.5 sur ubuntu16.04, qui peut importer sqlite3 succès – dragon

+0

Si python3.5 fonctionne bien, je pense que vous pouvez copier le fichier * .so directement à l'emplacement de python3.6. – ismtlee