もつれにもつれた環境を整理するの巻

なぜかpython2.7が入っているのにpython2.6が呼び出されると思ったら…

$ echo $PATH
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin:/opt/local/bin:/opt/local/sbin:/Users/nishio/tools/ImageMagick-6.5.3/bin:/Users/nishio/bin:/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/opt/local/bin:/Applications/Adobe Flex Builder 3/sdks/3.0.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

なぜこうなってるんだ?とbash_profileを見ると

##
# Your previous /Users/nishio/.bash_profile file was backed up as /Users/nishio/.bash_profile.macports-saved_2010-05-14_at_18:54:24
##

# MacPorts Installer addition on 2010-05-14_at_18:54:24: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin:/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.

なんと。MacPortsがいつの間にか勝手に編集してた。

というわけで2.6をPATHから削除してみた。

virtualenvwrapper.sh: Could not find Python module virtualenvwrapper.hook_loader using VIRTUALENVWRAPPER_PYTHON=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python. Is the PATH set properly?

なんだってー!
っていうかこれはvirtualenvを2.7に入れなおせばいいんだろうか。

easy_install-2.7は「もうvirtualenv入ってるよ」って言うのにvirtualenvwrapper.shのここでコケる。

# Set up virtualenvwrapper properly
virtualenvwrapper_initialize () {
    virtualenvwrapper_verify_workon_home -q || return 1
    # Test for the virtualenvwrapper package we need so we can report
    # an installation problem.
    "$VIRTUALENVWRAPPER_PYTHON" -c "import virtualenvwrapper.hook_loader" >/dev/null 2>&1
    if [ $? -ne 0 ]
    then
        echo "virtualenvwrapper.sh: Could not find Python module virtualenvwrapper.hook_loader using VIRTUALENVWRAPPER_PYTHON=$VIRTUALENVWRAPPER_PYTHON. Is the PATH set properly?" 1>&2
        return 1
    fi
    virtualenvwrapper_run_hook "initialize"
}

うーん。っていうかとりあえずvirtualenvが必要になる時まで保留ってことにして単にbash_profileからコメントアウトしておくか…

おまけ。port installedの出力

  python27 @2.7.1_3
  python27 @2.7.2_0
  python27 @2.7.2_1
  python27 @2.7.2_2 (active)

どうしてこうなった…古いやつを消しても大丈夫かなぁビクビク