したこと
「minicondaのポータブルインストール」を参考(ほとんどそのまま)に、Mambaforgeでポータブル版のJupyterLabを作った。
また、「JupyterLab3.0の起動ブラウザを指定する方法」を参考に、JupyterLabをChromeのアプリモードで起動できるようにもしてみた。
Mambaforgeとは
mamba
とはAnacondaやMinicondaで使われているパッケージマネージャーconda
より高速で互換なパッケージマネージャーである。
mamba
でパッケージをインストールするとき、conda-forgeからパッケージをインストールする機会が多くある。このとき、
mamba install -c conda-forge パッケージ名
のように、チャンネルを指定するため-c conda-forge
をつける必要がある。
しかし、Mambaforgeはconda-forge に特化しているので
mamba install パッケージ名
とするだけでよい。
(参考)
-
mamba
について GitHub - mamba-org/mamba - Mambaforgeについて GitHub - conda-forge/miniforge
環境設定用のバッチファイル
最初に作る。JupyterLabのインストール用バッチファイルや起動用バッチファイルで環境設定をするために呼び出して使う。
@echo off
cd /d %~dp0
SET MAMBA_PATH=%~dp0Mambaforge
SET PATH=%MAMBA_PATH%;%MAMBA_PATH%\Scripts;%MAMBA_PATH%\Library\bin;%MAMBA_PATH%\condabin;%PATH%
SET USERPROFILE=%~dp0UserProfiles
SET LOCALAPPDATA=%USERPROFILE%/appdata/Local
SET APPDATA=%USERPROFILE%/appdata/Roaming
SET JUPYTER_CONFIG_DIR=%USERPROFILE%
call mamba.bat activate base
MambaforgeとJupyterLabのインストール用バッチファイル
@echo off
cd /d %~dp0
SET MAMBA_PATH=%~dp0Mambaforge
SET INSTALLER=%~dp0Mambaforge-Windows-x86_64.exe
IF not EXIST %INSTALLER% (
bitsadmin /TRANSFER Mambaforge https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe %INSTALLER%
)
IF not EXIST %MAMBA_PATH%\python.exe (
mkdir %MAMBA_PATH%
%INSTALLER% /S /InstallationType=JustMe /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /D=%MAMBA_PATH%
)
call environment_settings.bat
call mamba install nodejs jupyterlab jupyterlab-language-pack-ja-JP jupyterlab_code_formatter black isort -y
mkdir NoteBooks
WindowsのMinicondaのインストーラーには、サイレントモードというのがあり、オプションをつけて実行することにより、ポータブル化することができる。
「Installing on Windows -- conda」から引用すると、
To run the the Windows installer for Miniconda in silent mode, use the
/S
argument. The following optional arguments are supported:
/InstallationType=[JustMe|AllUsers]
---Default isJustMe
./AddToPath=[0|1]
---Default is0
/RegisterPython=[0|1]
---Make this the system's default Python.0
indicates Python won't be registered as the system's default.1
indicates Python will be registered as the system's default./S
---Install in silent mode./D=<installation path>
---Destination installation path. Must be the last argument. Do not wrap in quotation marks. Required if you use/S
.
上記に加えて、/NoRegistry=1
は「minicondaのポータブルインストール」によると、
windowsのプログラムとしてインストーラーを登録しない
ということである。
そして、「GitHub - conda-forge/miniforge」に
It can be compared to the Miniconda installer.
と記述があるので、Mambaforgeのインストーラーにも利用できると考え、実行した。ポータブル化できているようである。
(参考)
JupyterLabをChromeのアプリモードで開くための構成ファイル
c = get_config()
c.ServerApp.browser = '"C:\\Program Files\\Google\\Chrome\\Application\\Chrome.exe\" --app=%s --start-maximized --force-dark-mode'
- Chromeの設定に使うだけなので、この2行だけでよい。
- Pythonでは(半角)¥マークの代わりに
\
が使われるが、エスケープシーケンスを用いて\\
としなければならない。Windowsでは(半角で)¥¥
と表示される。(自分なりの解釈) -
--app=<URL>
でアプリモードで起動する。アプリモードとは、Chromeをアドレスバーやタブバーを省略した状態で起動し、Webアプリ化したもの。 -
%s
はJupyterLab Serverの作成したURLを指す。 -
--start-maximized
で、ウィンドウを最大化して起動する。 - 最後の
--force-dark-mode
はダークモードが好きだから付けてるだけ。削除してよい。
(参考)
JupyterLab起動用のバッチファイル
@echo off
call environment_settings.bat
jupyter-lab.exe --config=chrome_config.py ./NoteBooks
最後の行を
cmd
または
powershell
に変えるとコンソールを開くことができる。
ドライブ・フォルダを変更したときPythonのkernelへのパスを修正するバッチファイル
@echo off
call environment_settings.bat
python -m ipykernel install --user
(参考) Installing the IPython kernel
追加情報
environment_settings.bat
に
SET JUPYTER_CONFIG_DIR=%USERPROFILE%
の一行を追加した。
こうすると、chrome_config.py
のファイル名をjupyter_lab_config.py
に変えて、%USERPROFILE%
で指定したフォルダに置けばstart_jupyter.bat
の最後の行を
jupyter-lab.exe ./NoteBooks
とすることもできる。
何故こうしなくて、--config=chrome_config.py
で指定しているのかというと、chromeの設定だけということの明示と、設定をテストしていじっているときに、いちいちフォルダを移動するのが面倒だったから。
jupyter_lab_config.py
は、コンソールを開き、
jupyter lab --generate-config
とすると、%USERPROFILE%
で指定したフォルダに作られる。
このjupyter_lab_config.py
を編集することによって、JupyterLabを開くブラウザの指定やnotebookの初期フォルダの設定などいろいろなことができる。