Использование интерактивной записной книжки Jupyter с туннелированием ssh

#python #ssh #jupyter-notebook #jupyter

#python #ssh #jupyter-notebook #jupyter

Вопрос:

В настоящее время я использую Python3 и ssh-туннелирование для использования loc Jupyter GUI из удаленно запущенного ноутбука. У меня возникает ошибка при запуске следующего кода:

 sys.path.append(os.path.join(os.path.dirname(__file__), '../../../'))
  

Ошибка:

 ---> 26 sys.path.append(os.path.join(os.path.dirname(__file__), '../../../'))

NameError: name '__file__' is not defined
  

Этот же код работает при запуске непосредственно на удаленном сервере. Но не в локальном браузере.

Может ли кто-нибудь объяснить, почему это происходит, пожалуйста?

Ответ №1:

__file__ В jupyter notebook нет переменной, потому что ‘file‘ применяется к модулям и скриптам Python, а не к записным книжкам.

Вы можете использовать следующий код, чтобы получить путь в блокноте

 from pathlib import Path
cwd = Path().resolve()
sys.path.append(cwd.parent.parent.parent)