Pyenv 가상 환경에서 Jupyter 노트북 서버에 연결할 수 없습니다(오류 404).

Pyenv 가상 환경에서 Jupyter 노트북 서버에 연결할 수 없습니다(오류 404).

운영체제: 5.14.14-arch1-1 GNU/Linux x86_64
패키지: jupyter4.6.3, jupyter-notebook6.4.4, pyenv2.2.0]


내 설정은 필요한 모든 패키지와 Python 모듈이 사전 설치된 pyenv디렉토리의 가상 환경 에서 jupyter를 시작하고 해당 특정 환경에 대한 사용자 정의 iPython 커널을 구축하는 것으로 구성됩니다 . /path/to/my_directory노트북 세션에서 사용자 정의 iPython 커널을 사용할 수 있게 만드는 것은 다음과 같습니다.

$ cd /path/to/my_directory
$ pyenv local 3.7.0
$ python -m pip install -r <requirements_file>
$ ipython kernel install --user --name <my_kernel> --display-name "Python3.7.0 (<my_kernel>)"
$ jupyter notebook

... 그런 다음 Jupyter 콘솔 메뉴에서 "파일 > 새 노트북"을 선택하고 새 노트북 브라우저 창에서 "my_kernel"을 선택합니다. 이 방법은 오늘날까지 완벽하게 작동했습니다.

어제 모든 것이 제대로 작동하여 포함된 사용자 정의 커널을 시작했습니다. 오늘은 다른 날입니다. 변경 사항은 기본적으로 몇 가지 패키지 업그레이드였으며 그 중에는 빌드와 관련된 여러 가지 사소한 업데이트도 있었습니다.

[2021-10-27T08:42:39+0200] [ALPM] upgraded npm (8.1.0-1 -> 8.1.1-1)
[2021-10-27T21:42:20+0200] [ALPM] upgraded c-ares (1.18.0-1 -> 1.18.1-1)
[2021-10-27T21:42:20+0200] [ALPM] upgraded cmake (3.21.3-1 -> 3.21.4-1)
[2021-10-27T21:42:20+0200] [ALPM] upgraded jupyter-nbconvert (6.1.0-1 -> 6.1.0-2)
[2021-10-27T21:42:20+0200] [ALPM] upgraded jupyter (4.6.3-2 -> 4.6.3-3)
[2021-10-27T21:42:20+0200] [ALPM] upgraded ldb (2:2.4.0-1 -> 2:2.4.1-1)
[2021-10-27T21:42:20+0200] [ALPM] upgraded librsvg (2:2.52.0-1 -> 2:2.52.3-1)
[2021-10-27T21:42:20+0200] [ALPM] upgraded mercurial (5.9.2-1 -> 5.9.3-1)
[2021-10-27T21:42:21+0200] [ALPM] upgraded portmidi (217-9 -> 236-1)
[2021-10-27T21:42:21+0200] [ALPM] upgraded pyenv (2.1.0-1 -> 2.2.0-1)
[2021-10-27T21:42:21+0200] [ALPM] upgraded python-pygame (2.0.1-2 -> 2.0.1-3)
[2021-10-27T21:42:21+0200] [ALPM] upgraded python-sqlalchemy (1.3.23-1 -> 1.4.25-1)
[2021-10-27T21:42:21+0200] [ALPM] upgraded smbclient (4.15.0-1 -> 4.15.1-1)
[2021-10-27T21:42:21+0200] [ALPM] upgraded samba (4.15.0-1 -> 4.15.1-1)
[2021-10-28T08:18:33+0200] [ALPM] upgraded systemd-libs (249.5-2 -> 249.5-3)
[2021-10-28T08:18:33+0200] [ALPM] upgraded device-mapper (2.03.13-1 -> 2.03.14-1)
[2021-10-28T08:18:33+0200] [ALPM] upgraded cryptsetup (2.4.1-1 -> 2.4.1-3)
[2021-10-28T08:18:33+0200] [ALPM] upgraded lvm2 (2.03.13-1 -> 2.03.14-1)
[2021-10-28T08:18:33+0200] [ALPM] upgraded openexr (3.1.2-1 -> 3.1.3-1)
[2021-10-28T08:18:33+0200] [ALPM] upgraded python-joblib (1.0.1-1 -> 1.1.0-1)
[2021-10-28T08:18:33+0200] [ALPM] upgraded python-ptyprocess (0.7.0-1 -> 0.7.0-2)
[2021-10-28T08:18:33+0200] [ALPM] upgraded python-pexpect (4.8.0-3 -> 4.8.0-4)
[2021-10-28T08:18:33+0200] [ALPM] upgraded systemd (249.5-2 -> 249.5-3)
[2021-10-28T08:18:34+0200] [ALPM] upgraded systemd-sysvcompat (249.5-2 -> 249.5-3)

<my_kernel>을 시작하려고 할 때 나타나는 오류는 다음과 같습니다.

연결 실패
노트북 서버에 연결하지 못했습니다. 노트북은 계속해서 다시 연결을 시도합니다. 네트워크 연결이나 노트북 서버 구성을 확인하세요.

<my_kernel>을 시작하려고 할 때 추적을 문서화합니다.

[I 14:54:07.039 NotebookApp] Loading IPython parallel extension
[I 14:54:07.040 NotebookApp] Serving notebooks from local directory: /path/to/my_directory
[I 14:54:07.040 NotebookApp] Jupyter Notebook 6.3.0 is running at:
[I 14:54:07.041 NotebookApp] http://localhost:8888/
[I 14:54:07.041 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
ERROR:asyncio:Exception in callback <TaskWakeupMethWrapper object at 0x7fc064ed4468>(<Future finis...igin\r\n\r\n'>)
handle: <Handle <TaskWakeupMethWrapper object at 0x7fc064ed4468>(<Future finis...igin\r\n\r\n'>)>
Traceback (most recent call last):
   File "/home/USER/.pyenv/versions/3.7.0/lib/python3.7/asyncio/events.py", line 88, in _run
     self._context.run(self._callback, *self._args)
RuntimeError: Cannot enter into task <Task pending coro=<HTTP1ServerConnection._server_request_loop() running at /home/USER/.pyenv/versions/3.7.0/lib/python3.7/site-packages/tornado/http1connection.py:823> wait_for=<Future finished result=b'GET /api/co...rigin\r\n\r\n'> cb=[IOLoop.add_future.<locals>.<lambda>() at /home/USER/.pyenv/versions/3.7.0/lib/python3.7/site-packages/tornad/ioloop.py:688]> while another task <Task pending coro=<MappingKernelManager.start_kernel() running at /home/USER/.pyenv/versions/3.7.0/lib/python3.7/site-packages/notebook/services/kernels/kernelmanager.py:176> cb=[IOLoop.add_future.<locals>.<lambda>() at /home/USER/.pyenv/versions/3.7.0/lib/python3.7/site-packages/tornado/ioloop.py:688]> is being executed.
[I 14:54:09.773 NotebookApp] Kernel started: ad69df20-22a6-40b2-9778-5e1aa8781898, name: <my_kernel>
[I 14:54:12.770 NotebookApp] KernelRestarter: restarting kernel (1/5), new random ports
[I 14:54:15.783 NotebookApp] KernelRestarter: restarting kernel (2/5), new random ports
[I 14:54:18.785 NotebookApp] 302 GET /notebooks/01_cpu-only_inference.ipynb (127.0.0.1) 2.010000ms
[I 14:54:18.795 NotebookApp] KernelRestarter: restarting kernel (3/5), new random ports
[I 14:54:21.803 NotebookApp] KernelRestarter: restarting kernel (4/5), new random ports
[W 14:54:24.814 NotebookApp] KernelRestarter: restart failed
[W 14:54:24.815 NotebookApp] Kernel ad69df20-22a6-40b2-9778-5e1aa8781898 died, removing from map.
[W 14:54:30.901 NotebookApp] Replacing stale connection: ad69df20-22a6-40b2-9778-5e1aa8781898:2eb96ae1751841d7801d200795a4bb30
[W 14:55:09.826 NotebookApp] Timeout waiting for kernel_info reply from ad69df20-22a6-40b2-9778-5e1aa8781898
[E 14:55:09.829 NotebookApp] Error opening stream: HTTP 404: Not Found (Kernel does not exist: ad69df20-22a6-40b2-9778-5e1aa8781898)
[W 14:55:09.832 NotebookApp] 404 GET /api/kernels/ad69df20-22a6-40b2-9778-5e1aa8781898/channels?session_id=2eb96ae1751841d7801d200795a4bb30 (127.0.0.1): Kernel does not exist: ad69df20-22a6-40b2-9778-5e1aa8781898
[W 14:55:09.848 NotebookApp] 404 GET /api/kernels/ad69df20-22a6-40b2-9778-5e1aa8781898/channels?session_id=2eb96ae1751841d7801d200795a4bb30 (127.0.0.1) 38952.030000ms referer=None

편집 1

  • pyenv, jupyterjupyter-nbconvert, 하나씩 순서대로 롤백되었습니다 . 예를 들어:
    $ sudo pacman -U jupyter-nbconvert-6.1.0-1-any.pkg.tar.zst

  • 매번 재부팅 -> 변경 없음

  • 3.7.0용 Python 가상 환경 바이너리를 다시 설치했습니다.
    $ pyenv uninstall 3.7.0
    $ pyenv install 3.7.0

  • Python 3.7.0 shim을 다시 설치했습니다.
    $ pyenv rehash

  • 3.7.0 virt-env에 3GB의 필수 패키지를 다시 설치하기 시작했습니다 ipykernel. 결과는 입니다 Segmentation fault (core dumped).

    $ cd /path/to/my_directory
    $ pyenv local 3.7.0
    $ python -m pip install ipykernel
    Segmentation fault (core dumped)
    $ python -m pip install -U pip
    Segmentation fault (core dumped)
    $ ... etc...
    

아직 문제를 해결하고 있습니다. 어떤 제안이라도 환영합니다.

관련 정보