Pythonの環境構築 (Windows11版)#
いくつかの方針が考えられるが、下記の導入を推奨とする。
Windowsターミナル
Windows Subsystem for Linux2(WSL2)
Note
授業の受講者で環境構築を希望される方は、事前に相談することを強く推奨します。 とくにWindowsの場合、作成者(吉田)はWindowsユーザーではないので幾つかの情報が古い恐れがあります。
Windowsターミナルの導入#
ターミナルとは、CUI(Character User Interface)、つまり
コマンドなどの文字列のみを用いてコンピュータを操作する環境を指す言葉です。
CUIに対して、普段我々が使っているポインタやウィンドウなどは
GUI(Graphical User Interface)に相当します。
Windows Terminalは、2019年にマイクロソフトがリリースしたターミナルで
コマンドプロンプトやPowerShellといったWindows独自のCUIに加えて
後述のWSLを統合的に扱うことができる環境となっています。
Windows11以降標準で入っているのでWindowsボタンで 開くメニューから、「ターミナル」「terminal」などと検索すると出てくる。
開く際に右クリックすると管理者権限で開く事もできる(WSLのインストール時に必要)。
WSL2の導入#
オペレーティングシステム(OS)の源流を遡ると、大まかには2つに大別される。
1つがUnix系で歴史が古い。そしてもう1つはお使いのWindowsである。
Unixはあるところで枝分かれし、LinuxやMac OSなどもUnix系に含まれる。
サーバー用途のマシンや、スパコンなどの計算機環境では基本的にLinuxがOSとして採用されている。
コンピュータの”計算機”としての側面や歴史的経緯から
プログラミング言語・開発環境などもUnix/Linuxとともに発展してきた部分が大きい。
一方でWindowsは、一般家庭でのコンピュータの需要拡大とともに独自の進化を遂げてきた。
Windowsユーザーが、プログラミング環境の構築やLinux-likeな作業をしたい場合
方法は幾つかあるが最近だとWindows Subsystem for Linux (通称WSL)を使うのが
最も簡単かつ安全な方法の1つとされている。
この授業ではLinuxの中のUbuntuというディストリビューションを用意して使うことにしよう。
手順1. WSLと仮想マシンプラットフォームの有効化
スタートメニューから「コントロールパネル」を検索して開く
コントロールパネルの[プログラム]>[Windowsの機能の有効化または無効化] を選択し
「Linux用Windowsサブシステム」
「Virtual Machine Platform」または「仮想マシン プラットフォーム」(※日本語表記か英語表記のどちらか一つが存在するはず)
の2つにチェックを入れて有効化する(再起動が必要)。
その際、他は触らないこと。もし誤ってチェックをしたり外したりしてしまった場合は一度キャンセルを押してやり直そう。手順2. Linuxカーネル更新プログラムの適用
このページの手順4にあるリンクから 「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をクリックし、 ダウンロードしたファイルを実行する。 Next→Windowsシステム側の警告「はい」を選択→Finishで完了する。
手順3. Windows TerminalからWSLのインストール
スタートメニューからterminalなどと打ち込んでターミナルを開く。
ターミナルの上で右クリックして[管理者として実行]する
このアプリがデバイスに変更を加えることを許可しますかというポップアップが出た場合、はいを選択すれば良い。次にターミナルに
wsl --install -d Ubuntu
と打ちEnterを押すことで、Ubuntuのインストールが始まる。
手順4. Ubuntuの起動
新しいウィンドウが開く※ので指示(Press any key to continue…)があればそれに従って適当なキーを押す。
※ウィンドウが開いたときにerror: 0x800701bcが発生している場合は、手順2→4を再度行ってみよう。 もしもそれでも解決しない場合は、教員に尋ねること。
手順5. Ubuntuの初期設定
しばらくすると
Enter new UNIX username:
とLinuxシステム用のusernameを求められるので
適当なものを入力してEnterを押す。
usernameは半角英数字にしよう。あとは…短い方があとあと便利。その後
NewPassword
とパスワードの設定を求められるので打ち込んでEnter
この際、パスワードの秘匿化のために何も表示されずカーソルも動かないが、入力しているので安心して間違わないよう打ち込もうRetype new password
(もっかい打て)と言われるのでもう一度ユーザー名が緑色で表示されていて、エラーメッセージ等がなければOK
上記の手順以降は、スタートメニューからUbuntuと検索してUbuntuを開いても良いし
Windows terminalのタブの”+”のさらに右にある∨マークから
Ubuntuを選択すると(あるいはショートカットで)、Windows terminalの上でUbuntuが開く。
なお、デフォルトの設定だとUbuntuを開くとUbuntuのホームディレクトリで開くし
Windows terminalから開くと、Windows側のホームディレクトリにいる状態で開く

WSL下でのPython環境の構築#
※以下では、直接/Windows TerminalのどちらでUbuntu環境を開いている場合も
便宜上”Ubuntuターミナル”と呼ぶことにしよう。
WSL下にPython環境構築をする方法は以下の通り
手順1. aptのupdate/upgrade
Ubuntuターミナルで以下を入力し実行する
$sudo apt update $sudo apt upgrade
注:上の
$
は打ち込むのではなく、 Ubuntuターミナルの末尾にある$
を指し
Pythonの対話モードなどで打ち込む場合と区別するための表記。sudoはコマンドの頭につけることで管理者権限で実行する、という命令を意味します。
実行時に、Ubuntu用に設定したパスワードが要求されます
入力しても画面には表示されないので注意しながら打ち込んでEnterを押す。
(間違っても再度入力を求めてくれますし、やめたければCtrl+C)aptはLinux(Debian系)のパッケージ管理システムです。
$sudo apt install xxxx
などとして、様々なものを簡単にインストールすることが出来ます。
※PCの時刻設定がきちんと行われていないと、aptのupdateやupgradeに失敗することがあるので注意。
手順2. Pythonのインストール
Ubuntuには初めからPython3系が含まれている。Ubuntuのバージョンなどによってバージョンが異なるが、 サポートされているバージョンであれば問題ない。
pipというPythonのパッケージマネージャが無い場合は、以下のコマンドでpip込みでインストールできる。
$sudo apt install python3-pip -y
これでpython3.xとpython用のパッケージマネージャpipがインストールされます(手順1でaptのupdate/upgradeが終わっていないと失敗することがあるので注意)。
手順3. Pythonの対話モードに入ってみよう
インストールが終わったら
python3
と打ち込んでEnterを押すと
Pythonの対話モードに入ります(Pythonのバージョンも確認できる)。対話モードの中で>print("Hello")
などと打ち込んで実行してみましょう。
打ちかけの作業を消したり、処理を中断する際はCtrl+Cを、
対話モードから抜けたければCtrl+Dを入力します
(書きかけのコードがあったり処理が実行されているときは先にCtrl+Cで中断してからCtrl+d)手順4. ライブラリのインストール
ライブラリ・モジュールをインストールしたければUbuntuターミナルから
$pip3 install matplotlib $pip3 install pandas $pip3 install Selenium
などを実行します。ただし、およそ3.11以降からライブラリの管理に関する指針が変更になったため、仮想環境の作成が推奨されるようになった。 詳しくはこちらの資料を参照のこと。
Google Colab環境では毎度
!pip install japanize-matplotlib
などとしましたが、一度インストールしておけば
コードの実行のたびにpipでインストール作業を行う必要はありません。
(ライブラリのimportはセッションごとに必要です)
その他、Linuxコマンドの使い方等については環境構築の概要のノートブックを参照
その他の注#
Windows/Linux環境#
Windows StoreからPythonのインストールを行い、WSLの環境構築をした場合、 WSLのターミナルから、双方のシステムのPython/pipが見える。
実行する際は、Windows側とLinux側、どちらのターミナル/Python/pipを使うのかを意識しよう。 Windows側のPython/pipには、python3.9.exeやpip3.9.exeなど実行ファイルを示す.exeがついているので、区別はしやすい。
Windows環境のどこにLinuxのファイルが保存されるか#
C:\Users\XXX\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
のXXX部分(や場合によってはドライブ部分C:)を皆さんの環境に置き換えたものが、
Windows内に構築されたLinuxのルートディレクトリ(最上位のディレクトリ)となります。
Ubuntuを開くと、rootfs以下のhomeディレクトリにログインした状態でターミナルが開きます。
パスが上記と微妙に異なる場合は、
WindowsのユーザーフォルダからAppDataを開いて、
検索バーでUbuntuと検索すれば、
該当するディレクトリが見つけられるはずです。
(隠しフォルダを非表示にしていると見えないかも)
Windows11の場合は適当なフォルダ(エクスプローラー)を開くと
左側にLinuxのペンギンマークがあるので、そこから参照できます。
Linux側からWindows側のファイルにアクセスする#
WindowsのディスクはLinuxからみた/mnt/
以下にマウントされている。
たとえば、/mnt/c/Users/[ユーザー名]/Downloads
で、Windows側のダウンロードフォルダのパスを指定できる。
OneDriveによるバックアップに含まれているフォルダは、
デフォルトパスから、OneDriveの下に変更されていることがあるので注意。
(例: デスクトップはLinuxから見ると/mnt/c/Users/[ユーザー名]/Desktop
のはずだが、
デスクトップフォルダがOneDriveのバックアップ対象になっていると、
/mnt/c/Users/[ユーザー名]/OneDrive/Desktop
などと変更されてしまうので注意。)