$ コマンド名
と打つとインストールされているもののうち一つしか起動しない。この起動する一つというのは、次のようにtypeやwhichで表示される一覧の一番上のものである。
以下の話は、「python」というコマンドを例に取って話を進める
$ type -a python
python is /Library/Frameworks/Python.framework/Versions/2.6/bin/python
python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python
python is /usr/local/bin/python
python is /usr/bin/python
python is /opt/local/bin/python
となっているとき、
python is /Library/Frameworks/Python.framework/Versions/2.6/bin/python
python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python
python is /usr/local/bin/python
python is /usr/bin/python
python is /opt/local/bin/python
$ python
と打つと、/Library/Frameworks/Python.framework/Versions/2.6/bin/pythonのpythonが起動する。起動するプログラムを変更するにはtypeで表示される順序を変更すればよい。
typeの順序は環境変数PATHの中から順に探してきているので、PATHの順番を変えてやる。
まず、PATHの確認。
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/opt/local/bin:/opt/local/sbin
typeと同じく/Library/Frameworks/Python.framework/Versions/2.6/binが一番先頭になっている。/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/opt/local/bin:/opt/local/sbin
例としてMacPortsでインストールしたpythonを使うためにはMacPortsのインストール先である/opt/local/binを先頭にに持っきてみる。
$ PATH=/opt/local/bin:$PATH
$ export PATH
または一行で書くなら、
$ export PATH
$ export PATH=/opt/local/bin:$PATH
こうすると、
$ echo $PATH
/opt/local/bin:/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/opt/local/sbin
となって、
/opt/local/bin:/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/opt/local/sbin
$ type -a python
python is /opt/local/bin/python
python is /Library/Frameworks/Python.framework/Versions/2.6/bin/python
python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python
python is /usr/local/bin/python
python is /usr/bin/python
となる。python is /opt/local/bin/python
python is /Library/Frameworks/Python.framework/Versions/2.6/bin/python
python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python
python is /usr/local/bin/python
python is /usr/bin/python
そうすると、
$ python
で起動するpythonはMacPortsのpythonになる。MacPorts内のpythonの切り替えはこちら
0 件のコメント:
コメントを投稿