В Jupyter отсутствуют _sqlite3 и pysqlite2

пытаясь запустить jupyter (ipython3) на Python3.5, я установил его, используя

sudo pip3 install jupyter

Однако при попытке запустить блокнот jupyter я получаю сообщение об отсутствии модулей _sqlite3 и pysqlite2. Я попытался установить их через pip3. Для pysqlite2, похоже, нет доступной версии (?). Для sqlite3 я получаю

RuntimeError: пакет sqlite3 нельзя загружать из pypi

Traceback (most recent call last):   File "/usr/local/lib/python3.5/site-packages/notebook/services/sessions/sessionmanager.py", line 10, in <module>
    import sqlite3   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'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/bin/jupyter-notebook", line 7, in <module>
    from notebook.notebookapp import main
  File "/usr/local/lib/python3.5/site-packages/notebook/notebookapp.py", line 79, in <module>
    from .services.sessions.sessionmanager import SessionManager
  File "/usr/local/lib/python3.5/site-packages/notebook/services/sessions/sessionmanager.py", line 13, in <module>
    from pysqlite2 import dbapi2 as sqlite3
ImportError: No module named 'pysqlite2'

Любые идеи?


person Suppenkasper    schedule 08.08.2017    source источник


Ответы (4)


Мне не хватало libsqlite3-dev при сборке Python3. Итак, после запуска sudo apt-get install libsqlite3-dev и пересборки Python3 теперь все работает.

person Suppenkasper    schedule 08.08.2017
comment
Работал на меня. Установил соответствующий пакет (для Fedora) и скомпилировал как указано здесь. - person Roman Luštrik; 22.02.2018

Я на Centos 7 и собрал Python3.8 из исходников. Действительно, как сказал Суппенкаспер, мне нужно было сначала sudo yum install libsqlite3x-devel.x86_64 перед перестройкой Python3.8 с использованием sudo make altinstall.

Вы можете найти точное имя пакета sqlite через yum list | grep sqlite.

person John Jiang    schedule 09.10.2020
comment
Это единственно правильное решение для CentOS. Работает и для py3.9 - person Mikhail_Sam; 07.06.2021

Мне нужно переустановить питон, и он снова работает.

person Richter    schedule 08.07.2019

У меня такая же ошибка в блокноте jupyter. Я установил python 3.7.2 из исходного кода в свою папку tmp в Ubuntu 16.04.7 LTS (Xenial Xerus). Отсутствовал libsqlite3-dev. Поэтому сначала установите libsqlite3-dev, используя

$ sudo apt-get install libsqlite3-dev

Затем перестройте свой python 3.7.2, для этого перейдите в папку с установленным python в моем случае /tmp/python-3.7.2 и запустите

$ cd /tmp/Python-3.7.2
$ ./configure --enable-optimizations
$ sudo make altinstall
person Amit Kumar    schedule 29.05.2021