ImportError: в python3.3 нет модуля с именем _sqlite3

Ошибка sqlite3

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'

я использую команду установки sqlite3

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

6 ответов

Я пользователь Fedora 20 Чтобы решить это:

  1. Установите пакет sqlite-devel, используя:

    yum install sqlite-devel
    
  2. После установки перекомпилируйте python из исходного кода, используя:

    ./configure
    make && make install
    

Для нескольких версий Python используйте altinstall вместо install,

Я думаю, это должно быть, вы не устанавливаете sqlite3, вы можете сделать это

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

тогда вы найдете sqlite3

Для Python3 в Ubuntu:

  • sudo apt-get install libsqlite3-dev
  • wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz (замените номер версии на вашу версию python3)
  • tar -xf Python-3.6.3.tar.xz
  • cd Python-3.6.3/
  • ./configure --enable-loadable-sqlite-extensions && make && sudo make install

см.: https://github.com/sloria/TextBlob/issues/173

В пакете компиляции чего-то не хватает, вы должны использовать yum для установки этих 5, а затем перекомпилировать и установить python3

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

а затем перекомпилировать python3

tar Jxvf  Python-3.5.0.tar.xz
cd Python-3.5.0
./configure --prefix=/usr/local/python3
make && make install

Я затронул эту проблему при использовании скомпилированной версии 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'

Решение:

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

Следуйте приведенному ниже URL-адресу, чтобы избавиться от этой ошибки, Centos-Sqlite3-Error-GCP.

Другие вопросы по тегам