Подтвердить что ты не робот

Невозможно импортировать модули в ноутбук jupyter; неправильный sys.path

У меня проблема с импортированием модулей в моем ноутбуке iPython/Jupyter. Проблема в основном заключается в том, на что указывает sys.path.

Из ноутбука iPython/Jupyter sys.executable возвращает:

'/usr/bin/python'

Однако из командной строки он возвращает:

'//anaconda/bin/python'

Я попытался удалить и повторно установить anacondas, но проблема все еще остается.

Я также попытался увеличить $PYTHONPATH в моем bash_profile, чтобы включить //anaconda/bin/python, но это не разрешает его.

Есть ли способ изменить sys.path в моем ноутбуке jupyter навсегда, без простого использования sys.path.append(...)?

4b9b3361

Ответ 1

  • Откройте новое окно терминала и посмотрите, поможет ли это. Если нет, перейдите к 2.

  • Запустите стандартный сеанс Python с терминала и введите следующее:

    >>> import sys
    >>> sys.executable
    
  • Сделайте то же самое в записной книжке:

    In [1]: import sys
            sys.executable
    
  • Сравните результаты. Надеюсь, это даст вам понять, что происходит.

Ответ 2

Я была такая же проблема. Пройдя через многие (например, слишком многие) решения этой проблемы, найденные в других местах, мне удается найти решение, которое, по крайней мере, работает в моем случае.

Шаг 1: проверьте правильный путь к исполняемой среде анаконды.

Перейдите в командную строку, активируйте проблемную среду conda и проверьте правильный путь к исполняемому файлу для среды.

conda activate {envronment name};
затем на консоли Python, (>>>) import sys;sys.executable

Например, в Linux это будет /media/{username}/{path-to}/anaconda3/envs/{environment name}/bin/python

Шаг 2: исправьте путь к исполняемому файлу для сеансов jupyter.

В командной строке проверьте путь, по которому находится kernel.json вашей проблемной среды conda.

jupyter kernelspec list

Например, в Linux это будет: /home/{username}/.local/share/jupyter/kernels/{environment name}

Откройте kernel.json, расположенный в этой папке, и замените неверный путь к исполняемому файлу, как показано ниже.

{
 "argv": [
  "REPLACE-THIS-WITH-THE-CORRECT-EXECUTABLE-PATH",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "heterodimers",
 "language": "python"
}

Надеюсь, это работает и в вашем случае.