皆さま、いかがお過ごしでしょうか。歌乃です。

ちょっとしたツールを作成しようとpythonの仮想環境を作成しました。久々にpython触ったので、バージョンも古くなっているだろうと、python自体のアップデートをおこなおうとバージョン確認をしたところで、問題に気づきました。

windows上でpythonを使用する場合、pythonコマンドまたはpyコマンドを使用すると思うのですが、


バージョンの相違

python_001

お気づき頂けただろうか ( ゚Д゚)

pyコマンドと、pythonコマンドで pythonのバージョンが違っています。


原因

この現象はwindows 環境で複数のpythonバージョンをインストールしていると起きる場合があります。

windows の場合、公式のインストーラーからpythonをインストールすることが多いと思いますが、その際「環境変数を登録」オプションを使用していると、自動でユーザーの環境変数にpathが書き込まれます。

python_002

それと同時にPython launcherによって pyコマンド(py.exe)がsystem path(c:\windows)の下にインストールされます。

つまり、pyコマンドが実行しているのは最後にインストールされたpython(この場合3.9)で、pythonコマンドで参照されるのは環境変数のpython(この場合最初に指定されている3.7)という事のようだ。


経緯

そういえば、eel(python用のUIフレームワーク、htmlやcss、javascriptなどでUIが構築できる)の実行環境のために3.7をインストールしたんだった。



eelの更新が止まっているようなので、そろそろ別のフレームワークを考えないとかな(`・ω・´)

eel はちゃんと更新されていました。最新のPython(2024/08/30現在v3.12)にも対応してました。m(__)m

Post If you feel like it, I would be happy if you could post it.