無法從 Pyenv 虛擬環境連線到 Jupyter 筆電伺服器(錯誤 404)

無法從 Pyenv 虛擬環境連線到 Jupyter 筆電伺服器(錯誤 404)

作業系統:5.14.14-arch1-1 GNU/Linux x86_64
包裝:jupyter4.6.3、6.4.4、2.2.0 jupyter-notebook]pyenv


我的設定包括從pyenv目錄中的虛擬環境啟動 jupyter /path/to/my_directory,並預先安裝所有必要的套件和 python 模組,並為該特定環境建立自訂 iPython 核心。使自訂 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...
    

仍在解決這個問題。歡迎任何建議。

相關內容