Запуск Jupyter Notebook на локальном хосте приводит к «[Errno 49] Невозможно назначить запрошенный адрес», однако ip = 127.0.0.1 работает - PullRequest
1 голос
/ 18 февраля 2020

При попытке запустить ноутбук Jupyter я получаю следующую ошибку

$ Jupyter Notebook
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/jupyter_core/application.py", line 268, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/traitlets/config/application.py", line 663, in launch_instance
    app.initialize(argv)
  File "</Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/decorator.py:decorator-gen-7>", line 2, in initialize
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/notebook/notebookapp.py", line 1720, in initialize
    self.init_webapp()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/notebook/notebookapp.py", line 1482, in init_webapp
    self.http_server.listen(port, self.ip)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tornado/tcpserver.py", line 151, in listen
    sockets = bind_sockets(port, address=address)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tornado/netutil.py", line 174, in bind_sockets
    sock.bind(sockaddr)
OSError: [Errno 49] Can't assign requested address

Однако, когда я указываю IP-адрес 127.0.0.1 (т.е. не «localhost»), Jupyter Notebook --ip=127.0.0.1 работает отлично хорошо.

Также, когда я пингую localhost, он возвращает, что локальный хост на самом деле 127.0.0.1.

$ ping localhost
PING localhost.localdomain (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.034 ms

Я проверил и etc / hosts, и приватный / etc / hosts, и ни один не указывает localhost (или что-то в этом роде).

Я пытаюсь решить эту проблему, когда я запускаю Jupyter Notebooks в PyCharm, и вы не можете создать простой ярлык для запуска на 127.0.0.1 Vice «локальный». (Нет простого ярлыка, о котором я знаю, поправьте меня, если я ошибаюсь) Я могу запустить 127.0.0.1 в Pycharm, но он требует нескольких шагов и обременителен. Я просто хочу, чтобы это работало через его предполагаемую конфигурацию 'localhost' по умолчанию.

1 Ответ

1 голос
/ 19 февраля 2020

Ответ зачислен на @ jackw11111

Создание файла конфигурации для вашего ноутбука jupyter

$ jupyter notebook --generate-config

Перейдите в этот новый файл конфигурации с вашим любимым редактором

$ nano ~/.jupyter/jupyter_notebook_config.py

Добавьте следующую строку в файл, чтобы сделать этот сервер по умолчанию для прослушивания

c.NotebookApp.ip = '127.0.0.1'
...