Vim 在 Windows 7 上与 Conda Python3 一起使用时崩溃

Vim crashes when used with Conda Python3 on Windows 7

我正在尝试让 Python27 和 Python34 支持 VIM 的已编译 64 位版本(使用 MSVS 2013 对其进行编译)在我的 Windows 7机器(也是 64 位)。我正在使用 Conda 64bit Python 发行版,其中 Python27 是主要安装(我的 Windows PATH 中也有它)并且 Python34 是作为单独安装的环境。 Python27.dllPython34.dll 文件被放置在 VIM 的目录中。

:version

显示我的 VIM 安装支持两个 Python 发行版,但是当我尝试 运行:

py3 print('test')

GVIM 只是崩溃并且 VIM 提供以下错误消息:

Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

py print('test') 工作正常。

我在 Haroogan's VIM 安装中重现了相同的行为。

有什么方法可以告诉 VIM 使用两个 Python 发行版吗?

我根据 asmeurer's 的建议解决了这个问题,并将以下代码添加到我的 .vimrc 文件中:

if has("gui_running")
  if has("gui_win32")
    :command! Python3 !activate py3k %
    :command! Py3 !activate py3k %
  endif
endif

其中 py3k 是 Python3 虚拟环境,即:

conda create -n py3k python=3

更新 (03/02/2015) 没有像我预期的那样工作,因为 VIM 仍然会时不时地崩溃。我最终安装了官方 Python 2/3 发行版和我的 Conda。 我还从 vimrc 文件中删除了额外的 command 行。