0

我正在尝试在我的 Windows 7 机器(也是 64 位)上让 Python27 和 Python34 支持已编译的 64 位版本的 VIM(使用 MSVS 2013 来编译它)。我正在使用Conda 64 位Python 发行版,其中 Python27 是主要安装(我的 Windows PATH 中也有它),Python34 作为单独的环境安装。Python27.dll并且Python34.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 的VIM 安装中重现了相同的行为。

有没有办法告诉 VIM 使用这两个 Python 发行版?

4

1 回答 1

0

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

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

Python3虚拟环境在哪里py3k,即:

conda create -n py3k python=3

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

于 2015-03-01T05:51:44.763 回答