コマンドラインで「python」と入力すると、次のように表示されます。
Python 2.4.3 (#1, Dec 11 2006, 11:39:03)
[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
しかし、同じマシンでPython2.7を使用するアプリケーションがあります。「python」と入力するとシェルが「2.4.3」と書き込むのに、なぜこのアプリケーションはpython 2.6.5を使用しているのですか?
他のPythonバイナリ、おそらくインストールされているものを使用しています。これは、パス変数を変更せずに簡単にアクセスできる場合とできない場合があります。
たとえば、私が働いている会社(Tecplot)は、ユーザーが自分のマシンにインストールされているPythonのバージョンを使用できるようにするためのサポート上の問題があるため、フラグシップ製品(Tecplot 360)とともに完全なPythonディストリビューションを出荷しています。さらに悪いことに、彼らのマシンはロックダウンされている可能性があり、使用するPythonのバージョンを選択することさえできない可能性があります。独自のPythonバイナリを提供することで、お客様が使用するバージョンを把握し、出荷前に動作することをテストできます。
アプリケーションのインストールディレクトリを調べれば、Python実行可能ファイルがどこに隠されているかがわかるでしょう。ほとんどの場合、アプリケーションがどこにあるかがわかっていれば、アプリケーションなしで実行できます。site-packages
ディレクトリが見つかった場合(および適切なアクセス許可があれば)、そこに追加のモジュールをインストールできます。アプリケーションから開いたシェルから実行してみてくださいecho $path
。可能であれば、検索する必要のあるディレクトリのリストを取得するか、Pythonで実行してくださいimport sys; print sys.executable
。
マシンに複数のバージョンのPythonをインストールできます。2つの環境で次のコードスニペットを実行して、2つの異なるPython環境がシステムのどこにインストールされているかを確認してください。
import re
print re.__file__