「Pythonで作成したプログラム起動時、自動的に Pythonのバージョンを を切り替えるには」の版間の差分

提供: tknotebook
移動: 案内検索
(Pythonバージョンの直接指定(オーバライド))
(Python Launcher)
 
(1人の利用者による、間の10版が非表示)
2行: 2行:
 
[[メインページ]]>[[コンピュータの部屋#Python]]>[[Python Tips]]
 
[[メインページ]]>[[コンピュータの部屋#Python]]>[[Python Tips]]
  
この記事では複数のバージョンのPythonを使い分ける方法を紹介します、
+
この記事では複数のバージョンのPythonを使い分ける方法を紹介します。尚、内容は Windows 限定、他の環境では未確認です。
  
  
 
==Python Launcher==
 
==Python Launcher==
  
Python インストール時、特に指定しなければ c:\Windows に py.exe/pyw.exe というコマンドがインストールされます。Python Launcher と呼ばれるものです。
+
Python3 インストール時、特に指定しなければ c:\Windows に py.exe/pyw.exe というコマンドがインストールされます。Python Launcher と呼ばれるものです。
  
複数のバージョンのPythonを使い分ける場合、pythonコマンドにパスを通して使うのは素人、この Python Launcher を使いましょう。コマンドラインで  
+
Windowsで複数のバージョンのPythonを使い分ける場合、pythonコマンドにパスを通して使うのは素人、この Python Launcher を使いましょう。コマンドラインで  
 
  prime.py
 
  prime.py
 
と打ったり、explorerで prime.py をダブルクリックした時に起動されるのも この Python Launcher です。これはコマンドラインで
 
と打ったり、explorerで prime.py をダブルクリックした時に起動されるのも この Python Launcher です。これはコマンドラインで
18行: 18行:
  
 
Python ファイルのシェバン行は以下のようにします
 
Python ファイルのシェバン行は以下のようにします
 +
  
 
Python2 を使う場合
 
Python2 を使う場合
  #!Python2
+
  #!python2
  
  
 
Python3 を使う場合
 
Python3 を使う場合
  #!Python3
+
  #!python3
  
  
  
 
より細かく Pythonのバージョンまで指定するときは
 
より細かく Pythonのバージョンまで指定するときは
  #!Python3.5
+
  #!python3.5
  
 
というようにマイナーバージョンまで指定してください。
 
というようにマイナーバージョンまで指定してください。
37行: 38行:
 
というようにプログラムを起動すれば、お望みのバージョンの python でプログラムを実行できます。
 
というようにプログラムを起動すれば、お望みのバージョンの python でプログラムを実行できます。
 
シャバン行を書かなければ最後にインストールした pythonが起動します。
 
シャバン行を書かなければ最後にインストールした pythonが起動します。
 
  
 
==Pythonバージョンの直接指定(オーバライド)==
 
==Pythonバージョンの直接指定(オーバライド)==
  
 
シェバン行の無いpythonスクリプトをお望みのpythonバージョンで動かしたい場合や、シェバン行を無視してお望みのpythonバージョンを使いたい場合は
 
シェバン行の無いpythonスクリプトをお望みのpythonバージョンで動かしたい場合や、シェバン行を無視してお望みのpythonバージョンを使いたい場合は
以下の用の python Launcher に引数でpythonのバージョンを指定します。
+
以下の様に python Launcher に引数でpythonのバージョンを指定します。
  
 
  py -3.6 prime.py
 
  py -3.6 prime.py
50行: 50行:
 
複数バージョンのpythonがインストールされている場合で、最後にインストールしたpythonにパスを通している場合, pipコマンドは最後にインストールしたpythonのバージョンしかメンテしてくれません。
 
複数バージョンのpythonがインストールされている場合で、最後にインストールしたpythonにパスを通している場合, pipコマンドは最後にインストールしたpythonのバージョンしかメンテしてくれません。
  
任意のpythonバージョンの管理を行い場合は
+
任意のpythonバージョンの管理を行いたい場合は
  
 
  py -3.5 -m pip ・・・・・(pipのコマンドパラメータ)
 
  py -3.5 -m pip ・・・・・(pipのコマンドパラメータ)
58行: 58行:
 
==仮想環境==
 
==仮想環境==
  
仮想環境を activate しているときは、pythonコマンドや pip コマンドをそのまま使いましょう。
+
複数バージョンのpythonがインストールされている場合、pythonバージョンを指定して仮想環境を作るには
 +
 
 +
py -3.5 -m venv ・・・(venvのパラメータ)
 +
 
 +
というようにします。
 +
 
 +
仮想環境を 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バージョンの指定などは行わないでください。