JupyterLab 4.2の問題
4.2くらいになってから発生した問題だと思うのですが、Microsoft IMEがONで半角英数入力モードにした状態で、英数字の入力がJupyterLabと喧嘩します。
Jupyter Notebookや以前のバージョン(例:4.0)のJupyterLabでは、この問題は発生しません。
IMEとしてGoogle日本語入力を用いている場合もこの問題は発生しないようです。
このため、Microsoft IMEを使ってJupyterLabでコードを入力する際には、IMEをOffの直接入力状態に切り替える(半角/全角キーを押す)必要があり、少々わずらわしいです。
JupterLab 4.3.0ではどうか?
JupterLab 4.3.0のリリースノートを見ると、多くのバグ修正と改良がされています。
上記の問題に関する直接的な記述は見つからない感じですが、期待できそうと私は思いました。
で、確認したところ、4.3.0では上記の問題が発生しないことが確認出来ました。
JupyterLab 4.3.0インストールの問題
例えば、pip install --upgrade jupyter jupyterlab
と実行すると、JupyterLabは4.3.0にアップグレードしてくれません。
ChatGPTに聞いたら、キャッシュが悪さしているかも、と言われたので、pip cache purge
としてpipのキャッシュを消した上で、pip install --upgrade jupyterlab
と実行すると、JupyterLabは4.3.0にアップグレードされましたが、以下の様なエラーが出ます。
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
notebook 7.2.2 requires jupyterlab<4.3,>=4.2.0, but you have jupyterlab 4.3.0 which is incompatible.
この状態でnotebookパッケージやjupyterパッケージをインストールやアップグレードすると、JupyterLabが4.2.5にダウングレードされます。
原因
要は現時点(2024/11/6)では、notebookパッケージがJupterLab 4.3.0に対応していないということです。
対処方法
方法1
別のPCで試した時に発覚したのですが、どうもnotebookパッケージの古いバージョン(例:7.0.6)ならば、パッケージの依存関係のせいか、上記の問題が発生しないようです。
ですので、その状態の場合には、notebookパッケージやjupyterパッケージをアップグレードしないままに、JupyterLabのみをアップグレードすれば行けます。
あるいは、notebookパッケージをダウングレードしても行けそうです。
方法2
ChatGPTに聞いたところ、notebookパッケージはJupyter Notebookでは使われているが、JupyterLabでは使われていないとのことです。
ですので、Jupyter Notebookを使わないなら、pip uninstall notebook
と実行し、notebookパッケージをアンインストールした上でJupterLabをアップグレードすれば良いです。
実際試したところ、無事JupyterLabは4.3.0になりました。
またnotebookパッケージが無い状態でjupyter
コマンドが実行できるか不安だったのですが、jupyter lab
と実行すると、JupyterLabは普通に起動出来ました。
現状(解決済)
Notebookパッケージがアップデートされ、JupyterLabの4.3.1に対応したようです。
ですので、上記の対応はもう不要です。