Сегодня я попытался запустить ячейку ноутбука Jupyter в vscode и получил
"Running cells with 'Python 3.10.6 64-bit' requires ipykernel package".
Это очень странно, так как среда моего ноутбука Jupiter еще вчера работала. Кроме того, я вижу все пакеты Python на своих местах. Единственное, что изменилось, это то, что прошлой ночью я обновил системные пакеты через Pop!_Shop (Pop!_OS 22.04 LTS).
Запустив python3.10
Я заметил, что версия GCC внутри терминала vscode отличается от версии в системном терминале. Как это возможно, когда команда which
показывает, что путь к двоичному файлу тот же? Потом я проверил сам gcc --version
и к моему удивлению с ним произошло то же самое.
из терминала vscode
с системного терминала
sys.path
в обоих терминалах одинаково, но один видит пакеты, например requests
, а другой нет.
Я уверен, что изначальная проблема с ячейкой jupyter связана именно с этим, потому что ipykernel тоже находится в sys.path, который почему-то недоступен терминалу vscode и, возможно, расширению jupyter.
Для Jupyter я могу переключиться на один из venvs, где проблема исчезнет. А вот магия с бинарником в терминалах остается неясной.
Обновлено:
Проблема была решена путем удаления плоской версии vscode и установки свежего deb-пакета с официального сайта. Теперь в терминале vscode у меня та же версия компилятора, что и в системном терминале и модули находятся без проблем, в том числе и ipykernel
.
Решение состоит в том, чтобы переустановить vscode с пакетом deb с официального сайта. См. отредактированную часть вопроса.
О, спасибо за комментарий, я как-то раньше не обращал внимания на функцию принятия ответа.