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

У меня есть python3, установленный через homebrew: 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 следующим образом:

./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

UPDATE: я получил работу la этот пост с Python 2.7.1 через Homebrew, но до сих пор не радует Python 3...

Ответ 1

Возникает проблема с конфигурацией script. Начиная с python 3.2, в конфигурационные и включенные каталоги входит включенный abiflag (см. PEP 3149).

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

Я уже отправил патч на vim, и он включился (это Mercurial repo имеет).

`./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

Ответ 2

Когда вы проверяете, работает ли это, убедитесь, что вы используете двоичный файл Vim, созданный сборкой, а не mvim script. mvim (даже если вы вызываете версию в исходном дереве) сначала будет искать в /Applications/for 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/