操作系统:5.14.14-arch1-1 GNU/Linux x86_64
包装:jupyter
4.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
。例如:jupyter
jupyter-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...
仍在解决这个问题。欢迎任何建议。