2015-02-26 4 views
0

Я пытаюсь поддерживать Python27 и Python34 для скомпилированной 64-битной версии VIM (используемой MSVS 2013 для ее компиляции) на моей машине с Windows 7 (тоже 64-разрядная версия). Я использую Conda 64bit Распределение Python, где Python27 является основной установкой (у меня также есть ее в Windows PATH), а Python34 был установлен как отдельная среда. Python27.dll и Python34.dll файлы были помещены в каталог VIM.Vim сбой при использовании с Conda Python3 в Windows 7

: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') работает нормально.

Я воспроизвел то же поведение с установкой VIM Haroogan's.

Есть ли способ сообщить VIM использовать оба дистрибутива Python?

+0

Вам нужна команда, которая изменяет PATH, на основе которой вы хотите использовать. – asmeurer

+0

Я пытался иметь что-то подобное в моем vimrc: ': command! Py3! $ Python3Location% ', но это не помогло. Похоже, официальный установочный пакет Python имеет инструмент, который будет выбирать правильный Python на основе команды ... но мне действительно нравится конда на этом этапе :) – Timka

ответ

0

Я был в состоянии решить эту проблему на основе 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 

UPDATE (03/02/2015) Не работает так, как я ожидал, так как VIM все равно будет разбиваться время от времени. Я закончил установку официальных дистрибутивов Python 2/3 вместе с моей Кондой. Я также удалил лишние command строк из моего vimrc файла.

Смежные вопросы