Python プログラムを実行する bash スクリプトがあります。私はvirtualenvを使用しています。
まず、envをbashに含めます:
source ./ENV/bin/activate
次に、bash プロンプトに (ENV) プレフィックスが表示されます。
$ echo $PATH
/project/ENV/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/core_perl
Python プログラムを bash スクリプトから実行しようとすると、間違ったバージョンの Python で実行されます。ENV は Python 2.6 を使用しますが、システムはデフォルトで 3.2 を使用します。
PythonスクリプトからPythonバージョンを出力すると、3が出力されます。
しかし、なぜ?
ls -la
-rw-r--r-- 1 wnc wnc 2219 Sep 27 01:42 activate
-rw-r--r-- 1 wnc wnc 1275 Sep 27 01:42 activate.csh
-rw-r--r-- 1 wnc wnc 2414 Sep 27 01:42 activate.fish
-rw-r--r-- 1 wnc wnc 1129 Sep 27 01:42 activate_this.py
-rwxr-xr-x 1 wnc wnc 357 Sep 27 01:42 easy_install
-rwxr-xr-x 1 wnc wnc 365 Sep 27 01:42 easy_install-2.6
-rwxr-xr-x 1 wnc wnc 318 Sep 27 01:42 pip
-rwxr-xr-x 1 wnc wnc 326 Sep 27 01:42 pip-2.6
lrwxrwxrwx 1 wnc wnc 9 Sep 27 01:42 python -> python2.6
lrwxrwxrwx 1 wnc wnc 9 Sep 27 01:42 python2 -> python2.6
-rwxr-xr-x 1 wnc wnc 6240 Sep 27 01:42 python2.6