Windows で cmd.exe 起動時に PATH を通す
Posted on Sun 19 January 2020 in misc
3月で Windows とはサヨナラするので、思い出につづっておこうと思います。
Python には、ディストリビューションが複数あります。公式の配布、 Anaconda 、 WinPython 。私が知っているだけでも、みっつあります。他は知りませんが公式の場合は、バージョンごとにインストール先のディレクトリが違います。
環境変数 PATH を設定した場合、複数ある python.exe を使い分けることができません。そこで、任意の Python に PATH を通しながら CLI を起動するショートカットを作りましょう。
ショートカットをつくる
コンテキストメニューなどでショートカットを作成します。設定するのはリンク先と作業フォルダです。
リンク先の設定 - PowerShell の場合
%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "$env:PATH = '%LOCALAPPDATA%\Programs\Python\Python38;%LOCALAPPDATA%\Programs\Python\Python38\Scripts;%PATH%'"
リンク先の設定 - cmd の場合
%windir%\System32\cmd.exe /K "set PATH=%LOCALAPPDATA%\Programs\Python\Python38;%LOCALAPPDATA%\Programs\Python\Python38\Scripts;%PATH%"
どちらも、公式の Python 3.8 の PATH です。他のバージョン、ディストリビューションの場合は変更してください。
作業フォルダの設定は %HOMEPATH% にします。起動時に開くディレクトリです。
…なんとなく Python にこじつけていますが、他の言語のインタプリタや、いろいろなコマンドラインツールでも同じようにすることができます。Java でも Node.js でも。バッチファイルを実行するようにしておいて、そのバッチファイルの中で環境変数を設定するのもありです。
しかし Python ランチャーがある
しかし、Python には、Python ランチャー(py.exe) があります。powershell でも cmd でも、開いて次のように打つとバージョンが表示されるはず。
py -V
Python ランチャーは PATH の通っているところにインストールされます。 .py ファイルも Python ランチャーに関連付けされています。
そもそも Python は PATH を通す必要がありません。少なくとも私自身は、通さずに困ったことはありません。書くだけ書いておいてなんですが、先述のショートカットも使ってません。