ワンクリックで Python の仮想環境を有効にする.

こんにちは.あらい大先生です.

現在,上原研では Python 講座が開講されています.
その講座は Python の文法やライブラリの活用を主に扱いそうなので,本ブログは Python の仮想環境について扱うことにします.

前提知識

Python の特徴や,仮想環境を利用する理由について説明します.
とはいえ,Google 検索すれば似たような説明は沢山あるので,読み飛ばしても構いません.
コチラ をクリックすると,手順へ飛ぶことができます.

Python は標準ライブラリだけではなく外部ライブラリも豊富であるため,様々なソフトウェアの開発に利用されています.
一方で,多くの外部ライブラリは更新され続けており,機能の追加や変更,削除が頻繁に行われています.
そのため,適当に外部ライブラリを更新すると,今までは動作していたプログラムが動作しなくなることがあります.

その対策として,「Python の仮想環境を構築して,それぞれの仮想環境の中で異なるバージョンの Python や ライブラリ を利用する」が挙げられます.
ただし,仮想環境を利用する度に,以下の作業を行う必要があります.

  • コマンドプロンプトを開く.
  • 仮想環境を有効にする.
  • 実行したい Python プログラムがある場所(作業フォルダー)へ移動する.

一つひとつの作業は単純ではありますが,面倒だと思います.
また,ファイルやフォルダーが沢山ある場合,「Tab キーによる補完が正しいか」を確認する作業も必要になります.

その解決策として,このブログでは Windows のタスクバーに Python の仮想環境を有効化させるための activate.bat をピン留めする方法を紹介します.

手順

まずは以下のコマンドで Python の仮想環境を作成しましょう.

Python -m venv env_name

env_name は,作成したい仮想環境の名前なので,好きな名前を付けて良いです.

次に,エクスプローラを開いて env_name, Scripts という順でフォルダを開きましょう.
そうすると,activate.bat が見つかると思います.

その activate.bat を右クリックし,ショートカットの作成をクリックします.
さらに,activate.bat - ショートカットを右クリックし,プロパティをクリックします.

リンク先の先頭に cmd /k を加え,作業フォルダーには実行したい Python プログラムがある場所を指定します.

設定の例

このまま OK ボタンをクリックしても良いですが,その場合だと activate.bat - ショートカット のアイコンがコマンドプロンプトのアイコンへ変化します.
これですと,通常のコマンドプロンプトや,同じ方法で作成した別の bat ファイルへのショートカットと区別しづらいので,アイコンも変更しておくと良いでしょう.

以上の手順を経ると, Windows のタスクバーに activate.bat をピン留めすることができるようになります.

補足

activate.bat をダブルクリックしても,一瞬だけコマンドプロンプトが起動するだけで何も起きません.
その理由について考察します.

activate.bat をソースコードを見ると,set コマンドがあることを確認できます.
この set コマンドで環境変数の追加や変更を行うコマンドです [1].
ただし,この環境変数はコマンドプロンプトが開いている間だけ有効です.
また,activate.bat をダブルクリックした際に起動するコマンドプロンプトは,activate.bat の実行の完了に合わせて終了します.
そのため,activate.bat をダブルクリックして実行しても,結局のところ何も起きません.

一方,コマンドプロンプトから activate.bat を実行した場合,activate.bat が終了してもコマンドプロンプトは終了しません.
また,cmd /k <string> と /k オプションを指定して <string> を実行した場合も同様に,<string> が終了しても cmd.exe (コマンドプロント) は終了しません [2].
そのため,環境変数の変更を維持することができ,仮想環境を利用することができます.

おわりに

今回は,ワンクリックで Python の仮想環境を有効にする方法を紹介しました.

bat ファイルは Windows のコマンド列なので自作することができます.
そのため,本ブログの方法で,自作した bat ファイルへのショートカットを作成すれば,日常のコマンド操作をワンクリックで済ませられるようになります.

ぜひとも活用しましょう.

参考

  1. Microsoft:set,Microsoft Docs,入手先〈https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/set_1〉(参照 2022-09-01).
  2. Microsoft:cmd,Microsoft Docs,入手先〈https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/cmd〉(参照 2022-09-01).

コメントを残す

メールアドレスが公開されることはありません。