sqlite3 is not be able to import in python 3

2019-02-10 06:56发布

问题:

sqlite is working fine with python 2.7 but when I am trying to import this in python 3 it gives error

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

to remove this error I am trying to reinstall sqlite3 by

 sudo apt-get install sqlite3

but it says that package is already exists. After that I am trying to install it by

pip3 install sqlite3

but again while installing it gives error

Collecting sqlite3
 Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 407 Proxy Authentication Required',))': /simple/sqlite3/
 Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 407 Proxy Authentication Required',))': /simple/sqlite3/
 Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after  connection broken by 'ConnectTimeoutError(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fb5ff3bc550>, 'Connection to 196.1.114.80 timed out. (connect timeout=15)')': /simple/sqlite3/
 Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 407 Proxy Authentication Required',))': /simple/sqlite3/
 Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 407 Proxy Authentication Required',))': /simple/sqlite3/
 Could not find a version that satisfies the requirement sqlite3 (from versions: )
 No matching distribution found for sqlite3

but my connection is working fine ... Now what should I do so that I am able to import sqlite3 in python 3?

回答1:

sqlite3 is an optional part of the standard library. It is compiled when you compile and install Python 3, but only if the right sqlite3 include files (development headers) are available.

If you compiled and installed Python 3 yourself, install the dependencies (libsqlite3-dev or sqlite-devel or similar, depending on your Linux distribution, for example), then re-compile and re-install Python 3.

Externally, the library is maintained as pysqlite; but that release doesn't support Python 3. Even then, to install it you'll still need those sqlite development files, and you'd need to port it to Python 3. You may as well just re-compile Python 3.