Вот что я использую (извините, что подсветка винтовая).
" Function to activate a virtualenv in the embedded interpreter for
" omnicomplete and other things like that.
function LoadVirtualEnv(path)
let activate_this = a:path . '/bin/activate_this.py'
if getftype(a:path) == "dir" && filereadable(activate_this)
python << EOF
import vim
activate_this = vim.eval('l:activate_this')
execfile(activate_this, dict(__file__=activate_this))
EOF
endif
endfunction
" Load up a 'stable' virtualenv if one exists in ~/.virtualenv
let defaultvirtualenv = $HOME . "/.virtualenvs/stable"
" Only attempt to load this virtualenv if the defaultvirtualenv
" actually exists, and we aren't running with a virtualenv active.
if has("python")
if empty($VIRTUAL_ENV) && getftype(defaultvirtualenv) == "dir"
call LoadVirtualEnv(defaultvirtualenv)
endif
endif
Обратите внимание, что вам нужно иметь MacVim скомпилирован против Python вы используете для virtualenv, например, если вы загрузили Python 2.7 из Python.org, вы должны перекомпилировать MacVim, используя --with-python-config-dir=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
в качестве аргумента для ./configure
.
Надеюсь, что это поможет!
EDIT: Только одна ноты атрибуции: много детективной работы, которые вошли в написании этого мало песенка была сделана this blogger, и он заслуживает часть кредита.
wow, cool, вот что Я искал, спасибо большое! Я не знал, что virtualenv создает это activate_this.py –
Привет, dwf, не могли бы вы взглянуть на мой вопрос здесь, чтобы понять, почему мой вывод странный? http://stackoverflow.com/questions/17288843/macvim-uses-wrong-python-virtualenv – Lionel