在vim中设置python virtualenv
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vim中设置python virtualenv相关的知识,希望对你有一定的参考价值。
我使用vim进行编码和特别是python编码。我经常想用python解释器执行当前缓冲区。 (例如运行unittests),通常我用:!python % <Enter>
做这个
这个scenatio可以正常工作与全局python,但我想运行virtualenv python而不是。如何在vim中启用virtualenv?是否可以在运行时切换virtualenv?
我正在使用macvim
这是我使用的(抱歉突出显示是棘手的)。
" 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
请注意,您需要针对您用于virtualenv的Python编译MacVim,例如如果您从Python.org下载了Python 2.7,则应使用--with-python-config-dir=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
作为./configure
的参数重新编译MacVim。
希望有所帮助!
编辑:只有一个归属说明:很多编写这个小曲的侦探工作是由this blogger完成的,他值得一些功劳。
在启动vim之前激活你的virtualenv。您将自动获得相应的解释器实例。
github上还有一个vim插件:
https://github.com/jmcantrell/vim-virtualenv
我没试过,但它似乎也解决了这个问题。
这个问题实际上困扰了我很长一段时间,直到我使用vim-conda的插件。只需在〜/ .vimrc中添加插件'cjrh / vim-conda'即可。您还可以查看详细说明https://github.com/cjrh/vim-conda。
以上是关于在vim中设置python virtualenv的主要内容,如果未能解决你的问题,请参考以下文章