2025, Oct 19 14:16

JupyterLab не запускается в Windows 11: исправляем PATH

Почему jupyter lab перестал находиться в PowerShell на Windows 11 и как вернуть JupyterLab в PATH: точная причина и минимальное исправление без переустановок.

Когда JupyterLab пропадает из PATH в Windows 11

Вы месяцами запускаете JupyterLab в Windows 11 через PowerShell, а однажды оболочка сообщает, что команда не существует. Переустановка jupyterlab через pip ничего не меняет. Python показывает, что пакеты Jupyter на месте, но jupyter lab не стартует, если не указывать полный путь к .exe. В этом материале — точная причина и минимальное исправление, без лишних отступлений.

Воспроизведение проблемы

Переустановка не помогла:

pip uninstall jupyterlab
pip install jupyterlab

PowerShell не находит команду:

jupyter lab

jupyter : The term 'jupyter' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is
correct and try again.
At line:1 char:1
+ jupyter lab
+ ~~~~~~~
    + CategoryInfo          : ObjectNotFound: (jupyter:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Python установлен здесь:

C:\Program Files\Python310\python.exe

Исполняемые точки входа Jupyter (.exe shims) находятся здесь:

C:\Users\DALEX\AppData\Roaming\Python\Python310\Scripts

И Python явно «видит» стек Jupyter:

python -m jupyter --version

Selected Jupyter core packages...
IPython          : 8.37.0
ipykernel        : 6.29.5
ipywidgets       : not installed
jupyter_client   : 8.6.3
jupyter_core     : 5.8.1
jupyter_server   : 2.16.0
jupyterlab       : 4.4.7
nbclient         : 0.10.2
nbconvert        : 7.16.6
nbformat         : 5.10.4
notebook         : 7.4.5
qtconsole        : not installed
traitlets        : 5.14.3

Но запуск Jupyter срабатывает только по полному пути:

C:\Users\DALEX\AppData\Roaming\Python\Python310\Scripts\jupyter-lab.exe

Что действительно ломается

Дело не в pip и не в самом Jupyter. PowerShell ищет исполняемые файлы вроде jupyter.exe и jupyter-lab.exe по переменной окружения PATH. В нашем случае в PATH есть похожая папка, но не та, куда установился Jupyter. Присутствующая запись:

C:\Users\DALEX\AppData\Roaming\Python\Scripts

а фактическое расположение исполняемых «шимов» Jupyter:

C:\Users\DALEX\AppData\Roaming\Python\Python310\Scripts

Windows не подставляет и не «догадывается» о вложенных папках, поэтому оболочка не находит jupyter через PATH. Отсюда и то, что работает лишь полный путь, а команда python -m jupyter --version по‑прежнему показывает пакеты: Python может импортировать модули, но PowerShell не видит командный entry point.

Решение

Добавьте в PATH точную папку, где лежат исполняемые файлы Jupyter. Скопируйте путь целиком, чтобы избежать опечаток и путаницы с похожими каталогами:

C:\Users\DALEX\AppData\Roaming\Python\Python310\Scripts

После изменения PATH перезапустите PowerShell, чтобы сессия подхватила новые переменные окружения. Затем выполните команду ещё раз:

jupyter lab

При желании можно и дальше запускать по полному пути, но исправленный PATH избавляет от этого костыля.

Почему это важно

Разрешение команд в Windows строгое: просматриваются только каталоги, явно указанные в PATH. Почти одинаковый путь без сегмента Python310 не совпадёт и тихо «промажет» мимо исполняемых файлов. Даже после правки PATH открытая сессия PowerShell хранит старое окружение в памяти, поэтому требуется перезапуск, чтобы оболочка увидела новые пути.

В описанном случае отсутствие команды устранилось после правки PATH. Позднее появившееся, не связанное с этим сообщение об ошибке о том, что не найден kernel, относится к другой части диагностики и не связано с неправильной настройкой PATH.

Выводы

Если привычная CLI-команда вроде jupyter lab перестаёт определяться в Windows 11, сначала сравните точный каталог с исполняемыми файлами инструмента с тем, что записано в PATH. Используйте точные, скопированные пути, а не набранные вручную, проверьте, что присутствует нужная подкаталогия PythonXY, и перезапустите PowerShell после изменений. Такой минимальный шаг экономит часы, которые иначе тратятся на переустановки, не затрагивающие корень проблемы.

Статья основана на вопросе на StackOverflow от Alex и ответе Michał Turczyn.