Компиляция vim с поддержкой Python3 (установленного через Homebrew)?

У меня установлен python3 через доморощенный: brew install python3 --framework

У меня есть исходный код vim (7.3), загруженный в /usr/src

Я бегу:

./configure --prefix=/usr/local --enable-rubyinterp --enable-python3interp --disable-gpm --enable-gui=no --enable-multibyte

И в моем src/auto/config.log я вижу:

configure:5442: checking --enable-python3interp argument   
configure:5451: result: yes  
configure:5456: checking for python3  
configure:5489: result: no

Я погуглил некоторые и нашел этот, поэтому я попытался создать символическую ссылку для python3.2, а затем выполнить настройку следующим образом:

./configure --prefix=/usr/local --enable-rubyinterp --enable-python3interp --disable-gpm --enable-gui=no --enable-multibyte --with-python3-config-dir=/usr/local/Cellar/python3/3.2/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config-3.2m

И мой журнал показывает ту же ошибку. Что мне нужно сделать, чтобы vim скомпилировался с поддержкой Python3?

И нет: я не хочу использовать MacVim.


➜ ls -al /System/Library/Frameworks/Python.framework/Versions 
total 16
drwxr-xr-x   7 root  wheel  238 May 28 15:33 .
drwxr-xr-x   7 root  wheel  238 Sep 21  2010 ..
drwxr-xr-x   8 root  wheel  272 Sep 17  2010 2.3
drwxr-xr-x  12 root  wheel  408 Dec  1 12:49 2.5
drwxr-xr-x  12 root  wheel  408 Dec  1 12:49 2.6
lrwxr-xr-x   1 root  wheel   70 May 28 15:33 Current -> /usr/local/Cellar/python3/3.2/Frameworks/Python.framework/Versions/3.2
lrwxr-xr-x   1 root  wheel    3 Sep 17  2010 old-Current -> 2.6

➜ which python3.2
/usr/local/bin/python3.2

ОБНОВЛЕНИЕ: у меня все работает а-ля этот пост с Python 2.7.1 через Homebrew, но с Python 3 все еще нет радости...


person neezer    schedule 28.05.2011    source источник


Ответы (3)


Возникла проблема со скриптом configure. Начиная с python 3.2, каталоги config и include включают abiflag (см. PEP 3149).

Следующая проблема заключается в том, что скрипт configure анализирует конфигурацию python, а флаги компоновщика неверны для сборки фреймворка, поэтому тестовая программа из скрипта configure не собирается.

Я уже отправил патч в vim, и он был включен (он есть в репозитории mercurial).

`./configure --enable-python3interp vi_cv_path_python3=/usr/local/bin/python3.2`

должно сработать.

Патч Vim: https://github.com/codedreality/vim/tree/fix-python3x-support

Патч MacVim: https://github.com/codedreality/macvim/tree/fix-python3x-support

person CodedReality    schedule 16.06.2011
comment
ссылка для Vim Patch не работает. Какие-либо предложения? - person ; 11.03.2014
comment
ссылка на путь все еще не работает для меня тоже. Пожалуйста, предложите что-нибудь, так как это все еще не работает - person vitiral; 24.11.2014
comment
Post and Patch относятся к 2011 году, возможно, с тех пор что-то изменилось в vim, и его нужно снова исправлять, а homebrew сильно изменился для python для поддержки сборок для 2.x и 3.x. - person CodedReality; 05.01.2015

Когда вы проверяете, работает ли это, убедитесь, что вы используете двоичный файл Vim, созданный сборкой, а не сценарий mvim. mvim (даже если вы вызываете версию в исходном дереве) сначала будет искать в /Applications/ MacVim.app.

Может быть, это доставит вам немного радости:

./configure \
  --enable-python3interp=dynamic \
  --with-python3-config-dir=/usr/local/Cellar/python3/3.2/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config/
person synthesizerpatel    schedule 02.06.2011
comment
Нет радости. Я получаю те же ошибки в моем журнале: checking --enable-python3interp argument... dynamic / checking for python3... no. Кроме того, я знаю, что проверяю правильный двоичный файл: (в каталоге vim src) ➜ ./src/vim --version. - person neezer; 07.06.2011
comment
Попробуйте принудительно выполнить поиск версии Python с помощью переменной autoconf. ./configure --enable-python3interp=dynamic --with-python3-config-dir=blah/blah vi_cv_path_python3=/usr/local/bin/python3.2 - person synthesizerpatel; 08.06.2011
comment
Нет, это тоже не работает. Кажется, это видно в выходных данных конфигурации (gist.github.com/1014434), но переменные не определены в /src/auto/config.mk (gist.github.com/1014435), и скомпилированный двоичный файл по-прежнему читается -python3. Любые другие мысли? - person neezer; 08.06.2011

Я изменил цвет заголовка macvim на черный. Мой цвет macvim стал темным. Измените строку 93 macvim MMWindow.m, добавив следующий код:

[self setTitleVisibility:NSWindowTitleHidden];
[self setTitlebarAppearsTransparent:YES];
self.backgroundColor = NSColor.blackColor;

Исходный код Complier со следующей командой:

./configure --with-features=huge --enable-multibyte --with-macarchs=x86_64 --enable-perlinterp --enable-rubyinterp --enable-tclinterp --enable-terminal --enable-python3interp --with-properly-linked-python2-python3 --enable-python3interp=yes --enable-cscope 

введите здесь описание изображения

person kun peng    schedule 30.04.2018