Windows の場合はもう少し複雑です。なぜなら、python2、python3に関係なく、pythonの実行ファイルはpython.exeという名前で、cmdの下にpythonと入力して得られるバージョン番号は、環境変数のpythonパスのどちらのバージョンが上位かによって決まります。たとえば、環境変数内の順序は次のとおりです。
すると、cmd の Python バージョンは 2.7.12 になります。
それ以外の場合は、python3 のバージョン番号です。
ここで問題が発生します。python2 でスクリプトを実行し、次に python3 で別のスクリプトを実行したい場合、どうすればよいでしょうか。環境変数を前後に変更するのは明らかに面倒です。
インターネット上の多くの方法は比較的単純で粗雑です。2 つの python.exe の名前を変更し、1 つは python2.exe、もう 1 つは python3.exe にします。確かにこれは可能ですが、実行ファイルを変更する方法は結局のところ良い方法ではありません。
Python の技術文書を注意深く検索し、より良いと思われる別の解決策を見つけました。
py のパラメータを借用して、別のバージョンの Python を呼び出します。py -2 は python2 を呼び出し、py -3 は python3 を呼び出します。
Python スクリプトの実行に python2 が必要な場合は、それをスクリプトの前に追加して、py xxx.py を実行します。
#! Python2
Python スクリプトの実行に python3 が必要な場合は、スクリプトの前に追加して、py xxx.py を実行します。
#! Python3
それはとても簡単です。
同時に、python2 と python3 が共存する環境で pip がエラーを報告し、ランチャーで致命的なエラーが発生する問題を完全に解決します。「"」を使用してプロセスを作成できません。
Python2のpipが必要な場合は、
py -2 -m pip インストール xxx
Python3のpipが必要な場合は、
py -3 -m pip インストール xxx
この方法で、python2 と python3 の pip パッケージを完全に分離できます。