nose とは Python 用のテストフレームワークです。Python には他にも unittest や doctest などがありますが、使いやすいという理由でこれを使ってます。
python_select で Python のバージョンを切り替えながら nose を使っていると、どうやら python_select による変更が反映されてないのではないか?ということに気づきました。
easy_install によってインストールされた nosetests は /usr/local/bin 以下に設置されていたので、中身を見てみます。
#!/usr/bin/python # EASY-INSTALL-ENTRY-SCRIPT: 'nose==0.11.4','console_scripts','nosetests' __requires__ = 'nose==0.11.4' import sys from pkg_resources import load_entry_point sys.exit( load_entry_point('nose==0.11.4', 'console_scripts', 'nosetests')() )
一行目を見る限り、どうやらデフォルトでインストールされている Python を利用しているようです。
そこで、以下のように修正しました。
#!/usr/bin/env python # EASY-INSTALL-ENTRY-SCRIPT: 'nose==0.11.4','console_scripts','nosetests' __requires__ = 'nose==0.11.4' import sys from pkg_resources import load_entry_point sys.exit( load_entry_point('nose==0.11.4', 'console_scripts', 'nosetests')() )
これで、python_select による変更が反映されるようになりました。
ただし、nose を新しいバージョンにアップデートするたびに修正が必要になるのが面倒ですね。
nose や unittest などのテストフレームワークについては
エキスパートPythonプログラミング
posted with amazlet at 10.09.25
に詳しく載ってます。今読んでますが難しい……。