QuickRun.vim で Python のテストを実行した際にモジュールが読み込まれない現象
メモ。
環境: Python2.7.4, MacVim Kaoriya 7.4.22, QuickRun.vim QuickRun-Unittest, vim-virtualenv
Flask を使ってこんなコードを書いてた。
app.py
# -*- coding: utf-8 -*- from flask import Flask from flaskext.kvsession import KVSessionExtension def create_app(): app = Flask(__name__)
# -*- coding: utf-8 -*- from unittest import TestCase from app import create_app class Tests(TestCase): def test_it(self): pass
自作の QuickRun の hook プラグインで nose を実行したら、
Failure: ImportError (No module named flaskext.kvsession) ... ERROR
とかって怒られた。これがターミナル上から nosetests で実行すると正しく実行される。
vim-virtualenv を外してやると正しく動作した。
ただし virtualenv のプロジェクトによっては vim-virtualenv があっても正しく動作するのがあるので、良く分からない。
詳細な原因を追う気にもなれないので、とりあえず外してみる。