症状

Jupyter Labを起動していると以下のエラーが発生する。

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "[xxx]/.venv/lib/python3.12/site-packages/ipykernel_launcher.py", line 18, in <module>
    app.launch_new_instance()
  File "[xxx]/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 1074, in launch_instance
    app.initialize(argv)
  File "[xxx]/.venv/lib/python3.12/site-packages/traitlets/config/application.py", line 118, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "[xxx]/.venv/lib/python3.12/site-packages/ipykernel/kernelapp.py", line 692, in initialize
    self.init_sockets()
  File "[xxx]/.venv/lib/python3.12/site-packages/ipykernel/kernelapp.py", line 331, in init_sockets
    self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "[xxx]/.venv/lib/python3.12/site-packages/ipykernel/kernelapp.py", line 253, in _bind_socket
    return self._try_bind_socket(s, port)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "[xxx]/.venv/lib/python3.12/site-packages/ipykernel/kernelapp.py", line 229, in _try_bind_socket
    s.bind("tcp://%s:%i" % (self.ip, port))
  File "[xxx]/.venv/lib/python3.12/site-packages/zmq/sugar/socket.py", line 320, in bind
    super().bind(addr)
  File "zmq/backend/cython/_zmq.py", line 998, in zmq.backend.cython._zmq.Socket.bind
    _check_rc(rc)
    ^^^^^^^^^^^
  File "zmq/backend/cython/_zmq.py", line 187, in zmq.backend.cython._zmq._check_rc
    raise ZMQError(errno)
    ^^^^^^^^^^^
zmq.error.ZMQError: Address already in use (addr='tcp://127.0.0.1:[xxx]')

解決策

$HOME/.ipython/ディレクトリが低速だとこの問題が発生するっぽい。

$HOMEとしてネットワークドライブ等をマウントしているならば、読み書きが安定している別のパスを指定すると安定する可能性がある。

export IPYTHONDIR=/hoge

jupyter lab [以下略]