PythonにはWindows上では動かないライブラリー(パッケージ)があります。
いつも使いなれたWindows上で、それらのライブラリー(パッケージ)が使えると非常に嬉しいことでしょう。
Windowsには、マイクロソフト社が開発者のためのツールとして提供しているWSL(Windows Subsystem for Linux)があります。
これは、Windows上で動作するLinuxの実行環境で、WSL1が2017年10月に公開され、WSL2が2019年2月に公開されました。
Windows Subsystem for Linux に関するドキュメント
https://learn.microsoft.com/ja-jp/windows/wsl/
少なくともWSL2は、Windows上のアプリの1つのように、Linux環境を利用できます。このWSL上に、LinuxのPython環境を構築することができます。
ということで、今回は「Windows上でLinux用のPython(Anaconda)を動かす方法」について説明します。
Contents
インストールの流れ
- WSL2のインストール
- WSL2のUbuntuの設定
- Linux版のAnacondaをインストール
WSL2のインストール
管理者権限でPowerShellを起動します。
PowerShellに、以下のコマンドを記載し実行します。
wsl --install
これでインストールは完了です。Linux環境がWindows上に構築されました。ちなみに、Ubuntuです。
再起動を促されるので、PCを再起動させます。
WSL2のUbuntuの設定
PCを再起動しいつも通りWindowsを立ち上げると、Ubuntuのユーザ名とパスワードを設定するよう促されます。
もし、促されないときは、Windows上のLinuxを直接立ち上げましょう。Ubuntu on Windowsというアプリがインストールされていますので、それを実行します。
ちなみに、Ubuntuのユーザ名とパスワードはWindowsのものとは別物なので注意しましょう。
次に、最新のUbuntuにします。
Ubuntu上で、以下のコマンドを記述し実行します。
sudo apt update && sudo apt upgrade
結構時間が結構掛かると思います。ちなみに、定期的にUbuntuを最新版にしましょう。
WindowsのコマンドプロンプトやPoweShell、Ubuntuを1つのアプリで操作できるアプリがあります。Windows Terminal(ターミナル)です。
便利なので、以下のMicrosoft Store からダウンロードしインストールしておきましょう。
↓↓↓
https://apps.microsoft.com/store/detail/windows-terminal/
日本語環境だと「ターミナル」という名前でアプリがインストールされます。
では、起動してみます。PowerShell や コマンドプロンプト、Ubuntuなどを選んで起動することもできます。単に起動すると、PowerShell が起動します。
以下は、Ubuntuを起動した例です。
タブを追加することで、1つのアプリ上でコマンドプロンプトやPoweShellなどを混在して立ち上げることができます。
Linux版のAnacondaをインストール
Linux版のAnacondaをダウンロードしインストールします。
以下のAnacondaのサイトのダウンロードページに行きます
↓↓↓
https://www.anaconda.com/products/distribution#Downloads
最新版のLinux版のAnaconda(Linux の 64-Bit (x86) Installer)のURLを取得します。
今現在(2023年1月現在)の最新版のURLは以下です。
↓↓↓
https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
Ubuntu上で、以下のコマンドを記述し実行すると、Anaconda(Anaconda3-2022.10)がダウンロードされます。
wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
ファイルのダウンロードが完了したらインストールをします。
Ubuntu上で、以下のコマンドを記述し実行すると、ダウンロードしたAnaconda(Anaconda3-2022.10)のインストールが開始されます。
bash Anaconda3-2022.10-Linux-x86_64.sh
最後に以下のコマンドを記述し実行することで、保存されます。
source .bashrc
以上で、Linux版のAnacondaのインストールは終了です。
必要なPythonのライブラリー(パッケージ)は都度インストールしておきましょう。
以下のコマンドを記述し実行すると、インストール済みのライブラリー(パッケージ)を見ることができます。
conda list
私の環境にはanaconda-navigatorが入っていなかったので、以下のコマンドを記述し実行することで、このライブラリー(パッケージ)をインストールします。
conda install anaconda-navigator
インストールしたanaconda-navigatorをUbuntuから起動します。
以下のコマンドを記述し実行します。
anaconda-navigator
起動すると、anaconda-navigatorが立ち上がります。見て頂くとわかりますが、Windows版とほぼ同じです。ここで、Jupyter Labなどのアプリを立ち上げたり、ライブラリーや仮想環境を管理したりできます。
Jupyter Labを立ち上げてみよう
Ubuntuを立ち上げます。
直接Jupyter Labを立ち上げるときは、以下のコマンドを記述し実行します。
jupyter lab
見慣れたJupyter Labが起動されます。基本的な使い方は、Windows版と同じです。
anaconda-navigatorからJupyter Lab立ち上げるときは、以下のコマンドを記述し実行し、先ずanaconda-navigatorを立ち上げます。
anaconda-navigator
立ち上がったanaconda-navigator上にあるJupyter Labをクリックすると、Jupyter Labが立ち上がります。
Windows上のデータとLinux上のデータのやり取り
Linux(Ubuntu)からWindows上のデータにアクセスするときは、「/mnt/c/」から入っていきます。mntはマウントを意味し、cはWindows上のCドライブを意味します。
例えば、Ubuntu上で以下のコマンドを記述し実行すると、WindowsのCドライブに行けます。
cd /mnt/c/
Jupyter Lab上で、Windows上のデータをアップロードするときには、Jupyter Lab上の「ファイルアップロード」(上矢印記号)をクリックすると「File Upload」画面が立ち上がりますので、そこでmnt経由でWindowsのCドライブにアクセスし、アップロードしたいファイルを選択します。
Windows側からLinux(Ubuntu)のデータへアクセスするときは、エクスプローラから直接いけます。
エクスプローラーに「\\wsl$\」を入力すると、ファイルのある場所に行けます(wsl -> Ubuntu -> home -> ユーザ名)。エクスプローラーの左下あたりにリンクがあらかじめ登録されている場合には、そこから行けます。ちなみに「\」はWindows上では「¥」です
ゴチャゴチャ記載しましたが、要はエクスプローラーで「\\wsl$\」から「wsl -> Ubuntu -> home -> ユーザ名」を辿って行くと、Jupyter Labのファイルやデータが置いてあるフォルダに行けますので、そこでデータのやり取りをするのが楽です。
(おまけ)キーボード周りなどを日本語環境にする
キーボードは何も設定しないと恐らく英語配列(ASCII配列、US配列)になります。
好みによりますが、日本語配列のキーボードにしたい場合には、Ubuntuで以下の一連のコマンドを実行して頂ければと思います。設定後の再起動も忘れずにしましょう。
先ず、以下のコマンドで日本語言語パックをインストールします。
sudo apt install language-pack-ja
次に、以下のコマンドでロケールの変更をします。
sudo update-locale LANG=ja_JP.UTF-8
再起動後、以下のコマンドで確認します。
locale
Jupyter Labを起動します。
jupyter lab
起動したJupyter Labのメニューは英語です。
これらを日本語にします。
以下のコードを実行します。
pip install jupyterlab-language-pack-ja-JP
メニューにある「Setting」から「Language」→「Japanese (Japan) – 日本語(日本)」を選択することで、日本語化されます。
次に、キーボードの配列を日本語版にします。
以下、コードです。
!setxkbmap jp
まとめ
今回は「Windows上でLinux用のPython(Anaconda)を動かす方法」について説明しました。
PythonにはWindows上では動かないライブラリー(パッケージ)があります。それらのライブラリー(パッケージ)が、Windows上で使えると非常に嬉しいことでしょう。
Windowsには、マイクロソフト社が開発者のためのツールとして提供しているWSL(Windows Subsystem for Linux)という、Windows上で動作するLinuxの実行環境があります。
少なくともWSL2は、Windows上のアプリの1つのようにLinux環境を利用でき、このWSL上に、LinuxのPython環境を構築することができます。
興味のある方は、Windows上にLinux環境を構築し試してみてください。