Скомпилируйте Vim с поддержкой Python в OS X

#python #macos #vim #compilation

#python #macos #vim #Сборник

Вопрос:

Я запускаю в каталоге Vim src

 $ pwd
~/vim/src
$ ./configure 
> --prefix=$HOME/Applications/vim-compiled 
> --enable-rubyinterp=yes 
> --enable-pythoninterp=yes 
> --with-python-config-dir=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
$ make
  

В конце make я получаю следующую ошибку

 ld: warning: in /Library/Frameworks//Python.framework/Python, missing required architecture x86_64 in file
Undefined symbols:
<very long list of Undefined symbols>
...
...
...
<very long list of Undefined symbols>
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [vim] Error 1
  

Что вызывает ошибку? Я нашел ответы в похожих вопросах, в которых рекомендуется использовать MacPorts, Homebrew или MacVim. Я не хочу использовать ни один из них. Есть ли какой-нибудь другой способ обойти?

ОБНОВЛЕНИЕ: Это вывод, в котором перечислены Undefined symbols http://pastebin.com/ggV87ReF

Комментарии:

1. Почему не MacPorts / Homebrew / MacVim? MacVim, вполне возможно, является самым простым решением.

2. @romainl, мне не нужен MacVim, потому что я предпочитаю работать в терминале. Я не хочу MacPorts / Homebrew, потому что моя установка Python уже настроена с помощью установщика из Python.org . Или, проще говоря, я пытаюсь поддерживать чистоту своих установок.

3. В пакете приложений MacVim есть исполняемый файл Vim CLI, который будет работать с любым Python / Ruby, установленным на вашем Mac, без необходимости что-либо настраивать / обновлять. Это то, что я использую уже 10 месяцев, и мне никогда не приходилось перекомпилировать Vim, несмотря на неоднократную смену активных версий Python / Ruby.

4. Вам действительно следует установить macvim с homebrew. Просто переименуйте его в vim. «псевдоним vim=’mvim -v'» заставит его вести себя так, как вы ожидаете.

5. Я рад узнать, что вы решили свою проблему, но, как я уже сказал, вам не нужно было ничего компилировать: MacVim.app поставляется в комплекте с Vim CLI (…/MacVim.app /Content / macOS / vim), который будет работать с любой версией Python, существующей или будущей, уже имеющейся на вашем компьютере. Просто загрузите .app, добавьте псевдоним к своему ~/.profile , и все готово.

Ответ №1:

В моем случае я установил MacVim на 10.6.8, используя следующую команду ./configure --prefix=/usr --enable-perlinterp=yes --enable-pythoninterp=yes --with-features=huge --with-python-config-dir=/System/Library/Frameworks/Python.framework/Versions/2.6

sudo make

Ответ №2:

Вы пробовали обновиться до 32-разрядной / 64-разрядной версии Python 2.7.2 для OSX? Я не уверен, существовала ли конкретная 64-разрядная версия 2.7, и это могло бы вызывать проблемы.

Ответ №3:

Взгляните на рецепт домашнего приготовления для vim (или macvim) и измените его при необходимости. https://github.com/mxcl/homebrew

Комментарии:

1. Я не уверен, что вы имеете в виду. Предоставленная вами ссылка не содержит никаких ссылок на Python.

2. Смотрите Эту часть рецепта MacVim для настроек, специфичных для Python.

3. Спасибо @romainl, я пытался использовать ./configure параметры, но я все еще получаю ту же ошибку. Я думаю, это как-то связано с missing required architecture x86_64 in file

4. Да, это довольно очевидно. Но если ваш Python работает как есть, я не знаю, что вы могли бы с ним сделать. Ваша машина работает в 64-разрядной или 32-разрядной версии? Ваш Python скомпилирован как 64-разрядный или как 32-разрядный? Является ли это Python по умолчанию, предоставляемым Apple (я думаю, да)? Вы пытались установить другой Python (через MacPorts или каким-либо другим способом)?