「Pythonで作成したプログラム起動時、自動的に Pythonのバージョンを を切り替えるには」の版間の差分
(→Python Launcher) |
(→Python Launcher) |
||
(1人の利用者による、間の3版が非表示) | |||
9行: | 9行: | ||
Python3 インストール時、特に指定しなければ c:\Windows に py.exe/pyw.exe というコマンドがインストールされます。Python Launcher と呼ばれるものです。 | Python3 インストール時、特に指定しなければ c:\Windows に py.exe/pyw.exe というコマンドがインストールされます。Python Launcher と呼ばれるものです。 | ||
− | + | Windowsで複数のバージョンのPythonを使い分ける場合、pythonコマンドにパスを通して使うのは素人、この Python Launcher を使いましょう。コマンドラインで | |
prime.py | prime.py | ||
と打ったり、explorerで prime.py をダブルクリックした時に起動されるのも この Python Launcher です。これはコマンドラインで | と打ったり、explorerで prime.py をダブルクリックした時に起動されるのも この Python Launcher です。これはコマンドラインで | ||
50行: | 50行: | ||
複数バージョンのpythonがインストールされている場合で、最後にインストールしたpythonにパスを通している場合, pipコマンドは最後にインストールしたpythonのバージョンしかメンテしてくれません。 | 複数バージョンのpythonがインストールされている場合で、最後にインストールしたpythonにパスを通している場合, pipコマンドは最後にインストールしたpythonのバージョンしかメンテしてくれません。 | ||
− | + | 任意のpythonバージョンの管理を行いたい場合は | |
py -3.5 -m pip ・・・・・(pipのコマンドパラメータ) | py -3.5 -m pip ・・・・・(pipのコマンドパラメータ) | ||
というように pip を起動します。 | というように pip を起動します。 | ||
− | |||
==仮想環境== | ==仮想環境== | ||
66行: | 65行: | ||
仮想環境を activate しているときは、Python Launcher は、仮想環境のScriptsフォルダの python.exe を起動します。 | 仮想環境を activate しているときは、Python Launcher は、仮想環境のScriptsフォルダの python.exe を起動します。 | ||
− | 但し | + | 但し スクリプトのシェバン行で pythonバージョンを指定したり、pyコマンドのオプションでバージョンを明示的に指定したりすると、 |
+ | 仮想環境ではなく インストール先の python.exe を起動してしまいます。これでは仮想環境にインストールしたパッケージが見えません。 | ||
− | + | 仮想環境を使うときは、pythonのバ-ジョンの指定は仮想環境に任せ、シェバン行や py コマンドでのpythonバージョンの指定などは行わないでください。 |
2018年12月2日 (日) 14:29時点における最新版
メインページ>コンピュータの部屋#Python>Python Tips
この記事では複数のバージョンのPythonを使い分ける方法を紹介します。尚、内容は Windows 限定、他の環境では未確認です。
Python Launcher
Python3 インストール時、特に指定しなければ c:\Windows に py.exe/pyw.exe というコマンドがインストールされます。Python Launcher と呼ばれるものです。
Windowsで複数のバージョンのPythonを使い分ける場合、pythonコマンドにパスを通して使うのは素人、この Python Launcher を使いましょう。コマンドラインで
prime.py
と打ったり、explorerで prime.py をダブルクリックした時に起動されるのも この Python Launcher です。これはコマンドラインで
py prime.py
と打つことと同じ意味になり、最後にインストールした python が起動します。
Python Launcher は Pythonスクリプトファイルのシェバン行を読んで、起動する Python インタープリターを切り替える機能があります。
Python ファイルのシェバン行は以下のようにします
Python2 を使う場合
#!python2
Python3 を使う場合
#!python3
より細かく Pythonのバージョンまで指定するときは
#!python3.5
というようにマイナーバージョンまで指定してください。
py prime.py
というようにプログラムを起動すれば、お望みのバージョンの python でプログラムを実行できます。 シャバン行を書かなければ最後にインストールした pythonが起動します。
Pythonバージョンの直接指定(オーバライド)
シェバン行の無いpythonスクリプトをお望みのpythonバージョンで動かしたい場合や、シェバン行を無視してお望みのpythonバージョンを使いたい場合は 以下の様に python Launcher に引数でpythonのバージョンを指定します。
py -3.6 prime.py
Pythonバージョンを指定して pip を使う
複数バージョンのpythonがインストールされている場合で、最後にインストールしたpythonにパスを通している場合, pipコマンドは最後にインストールしたpythonのバージョンしかメンテしてくれません。
任意のpythonバージョンの管理を行いたい場合は
py -3.5 -m pip ・・・・・(pipのコマンドパラメータ)
というように pip を起動します。
仮想環境
複数バージョンのpythonがインストールされている場合、pythonバージョンを指定して仮想環境を作るには
py -3.5 -m venv ・・・(venvのパラメータ)
というようにします。
仮想環境を activate しているときは、Python Launcher は、仮想環境のScriptsフォルダの python.exe を起動します。 但し スクリプトのシェバン行で pythonバージョンを指定したり、pyコマンドのオプションでバージョンを明示的に指定したりすると、 仮想環境ではなく インストール先の python.exe を起動してしまいます。これでは仮想環境にインストールしたパッケージが見えません。
仮想環境を使うときは、pythonのバ-ジョンの指定は仮想環境に任せ、シェバン行や py コマンドでのpythonバージョンの指定などは行わないでください。