私はすべてのパッケージを含むプロジェクトを持っています。nosetests
それ自体は、そのプロジェクトに固有の virtualenv にインストールされ、~/.virtualenvs
. ただし、M-x nosetests-one
and M-x nosetests-all
etc は (明らかに) コマンドの virtualenv ディレクトリを調べることさえしないため、これらのコマンドは失敗し、コマンドが見つからないbin
というエラー メッセージが表示されます。nosetests
そうでない場合でもnosetests
、グローバル環境ではなく virtualenv 内からテストを呼び出す必要があるため、間違ったバイナリを呼び出すことになります。
解決策を見つけるためにいくつかのGoogle検索を試しましたがnose-global-name
、プロジェクトの.dir-locals.el
ファイルでハードコードされた値に設定するだけの既存のハッキーな(しかしシンプルで信頼できる)アプローチよりも優れたものを見つけることができませんでした:
((nil . ((nose-global-name . "~/.virtualenvs/myproject/bin/nosetests"))))
しかし、これは実行可能な解決策ですが、新しいプロジェクトごとに手動で調整する必要のない、より一般的な解決策があることを願っています。