Запуск Jupyter Notebook из cmd вызывает ModuleNotFoundError: нет модуля с именем pysqlite2 - PullRequest
0 голосов
/ 24 января 2019

Проблема:

После переустановки Anaconda Я больше не могу перейти к папке, используя командное окно, где у меня есть несколько .pynb файлов, введите jupyter notebook и все готово. Я получаю эти ошибки:

C: \ scripts \ notebooks> Traceback jupyter notebook (последний вызов последний): файл "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ Lib \ сайт-пакеты \ ноутбук \ услуги \ сессии \ sessionmanager.py", строка 10, в импортировать файл sqlite3 "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ sqlite3__init __. py", строка 23, в из sqlite3.dbapi2 import * Файл "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ sqlite3 \ dbapi2.py", строка 27, в из _sqlite3 import * ImportError: сбой загрузки DLL: процедура не найдена

Во время обработки вышеуказанного исключения произошло другое исключение:

Traceback (последний вызов был последним): File "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ Scripts \ jupyter-notebook-script.py", строка 6, в импортировать из файла notebook.notebookapp основной файл "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ notebook \ notebookapp.py", линия 86, в из .services.sessions.sessionmanager импортировать файл SessionManager "C: \ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ Lib \ сайт-пакеты \ ноутбук \ услуги \ сессии \ sessionmanager.py", строка 13, в из pysqlite2 импортируйте dbapi2 как sqlite3 ModuleNotFoundError: нет модуля с именем 'pysqlite2'


Что я пробовал:


Я проверил свежие папки Anaconda, и все, кажется, там, где оно должно быть sqlite, sqlite3 и pysqlite2.

С тех пор, как я в последний раз загружал Anaconda, похоже, что они изменили папки установки по умолчанию, поэтому я был уверен, что все будет в порядке после редактирования моих пользовательских и системных переменных среды в соответствии с сообщением Блокнот Jupyter не открывается из Командная строка на всякий случай проверки опции Add to Path при переустановке Anaconda было недостаточно. Но я все еще получаю те же сообщения об ошибках.

Когда я запускаю Jupyter из Anaconda Navigator, все работает нормально.

Аналогичный вопрос был задан, но не получен, для Ubuntu здесь: 2x ModuleNotFoundError Jupyter notebook


Edit:


Когда я использую и Anaconda Prompt, jupyter также начинает нормально работать при вводе jupyter notebook. Так зачем беспокоиться о командной строке? Команда приглашения anaconda не открывает файлы ipynb автоматически в веб-браузере по умолчанию. Моя ранняя установка с командным окном Windows (и командным файлом) сделала это, и я думаю, что это было очень полезно.


Сведения о системе:

Windows 7, 64 бит

Анаконда 2018.12

Jupyter Notebook 5.7.4

Python 3.7.1

IPython 7.2.0

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

если у вас установлен клиент oracle для пакета cx_Oracle, проверьте, есть ли у вас / usr / lib в DYLD_LIBRARY_PATH . Попробуйте удалить / usr / bin из пути и посмотреть, работает ли он.

У меня была такая же проблема, и это сработало для меня. Я попробовал это на MacOS.

0 голосов
/ 25 января 2019

Краткий ответ:

Похоже, что проблема версии с 29.01.2019 связана только с:

Anaconda3-2018.12 :

Jupyter Notebook 5.7.4
Python 3.7.1 (default, Dec 10 2018, 22:54:23) 
IPython 7.2.0

Проверьте список в деталях ниже, чтобы увидеть версии, которые не будут вызывать ModuleNotFoundError: No module named pysqlite2 при запуске Jupyter из пакета или даже при попытке установить nbExtensions.

Для версии Anaconda3-2018.12, Jupyter может быть запущен из пакета, используя установку из GokulDAS027 в этом посте , но он не откроется автоматически в вашем веб-браузере по умолчанию.Вы также можете без проблем запустить Jupyter из Anaconda Navigator.

Подробности:


Решение 1 : запустить более детальный пакет


Оказывается, что предложение от GokulDAS027 к вопросу Использование .bat для изменения каталогов и запуска Jupyter по какой-то причине откроет Jupyter, не вызывая сообщений об ошибках sqlite:

C:\Users\**UserName**\Anaconda3\python.exe C:\Users\**UserName**\Anaconda3\cwp.py C:\Users\**UserName**\Anaconda3 C:\Users\**UserName**\Anaconda3\python.exe C:\Users\**UserName**\Anaconda3\Scripts\jupyter-notebook-script.py "**file location**"

В моей системе Jupyter не будет автоматически открывать веб-браузер по умолчанию. Кроме того, если вы хотите установитьРасширения Notebook, вы получите соответствующее сообщение об ошибке.Так как я не нашел это очень удовлетворительным, я начал еще немного копаться в том, является ли это проблемой для более поздних версий Anaconda:


Решение 2: Установка более старойверсии Anaconda


Я заметил некоторые комментарии на github, что pysqlite2 не используется в Python 3 .Я был почти уверен, что у меня не было ModuleNotFoundError: No module named pysqlite2 около года назад, когда я уже использовал Python 3, поэтому я протестировал несколько более старых установок Anaconda, чтобы проверить, будет ли возникать та же ошибка.

Похоже, что ошибка pysqlite2 будет только для самой последней версии (на 29.01.2019):

Anaconda3-2018.12

Jupyter Notebook 5.7.4
Python 3.7.1 (default, Dec 10 2018, 22:54:23) 
IPython 7.2.0

С системными настройками, описанными ниже (все еще в Windows 7, 64 бит), все работает нормально, что означает:

  1. Jupyter canзапустить из командной строки (не только из-за приглашения Anaconda), перейдя в папку и введя jupyter notebook, и , она автоматически запускается в веб-браузере по умолчанию.

  2. nbExtensions можно установить, используя conda install -c conda-forge jupyter_contrib_nbextensions

Протестированные версии из Архив Anaconda

Anaconda3-5.3.1

Jupyter Notebook 5.6.0
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)]
IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.

Anaconda3-4.4.0

Python 3.6.1 |Anaconda 4.4.0 (64-bit)|
IPython 5.3.0

Anaconda2-4.3.1-Windows-x86_64

Jupyter Notebook 4.3.1
Python 2.7.13 |Anaconda 4.3.1 (64-bit)| 
IPython 5.1.0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...