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 Чтобы решить это:
Установите пакет sqlite-devel, используя:
yum install sqlite-devel
После установки перекомпилируйте 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
В пакете компиляции чего-то не хватает, вы должны использовать 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.