Как я могу использовать Homebrew Python с Homebrew MacVim на Mountain Lion?

14

Первоначально я задавал и отвечал на этот вопрос: как я могу использовать версию Homebrew Python с Homebrew MacVim?

Эти инструкции работали на Snow Leopard с использованием Xcode 4.0.1 и соответствующих инструментов разработчика. Тем не менее, они больше не работают на Mountain Lion с Xcode 4.4.1.

Моя цель - оставить нетронутой системную версию Python и установить только пакеты PyPI в site-packagesкаталог Homebrew . Я хочу использовать пакет vim_bridge в MacVim, поэтому мне нужно скомпилировать MacVim против версии Python для Homebrew.

Я отредактировал формулу MacVim, чтобы добавить их к аргументам:

--enable-pythoninterp=dynamic
--with-python-config-dir=/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config

Затем я устанавливаю с помощью команды:

brew install macvim --override-system-vim --custom-icons --with-cscope --with-lua

Тем не менее, он все еще использует Python 2.7.2 из системы. Мне это кажется странным, потому что он также использует правильный исполняемый файл.

:python print(sys.version)
2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)]

:python print(sys.executable)
/usr/local/bin/python

$ /usr/local/bin/python --version
Python 2.7.3

$ /usr/local/bin/python -c "import sys; print(sys.version)"
2.7.3 (default, Aug 12 2012, 21:17:22) 
[GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.60))]

$ readlink /usr/local/lib/python2.7/config
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config

Я удалил все /usr/localи переустановил Homebrew, выполнив следующие команды:

$ ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
$ brew install git mercurial python ruby
$ brew install macvim
   (nope, still broken)
$ brew remove macvim
$ ln -s /usr/local/Cellar/python/..../python2.7/config /usr/local/lib/python2.7/config
$ brew install macvim
Стивен Дженнингс
источник
Вы пробовали запустить brew link pythonи затем python --versionна новом терминале?
Сыпь
@ user1099816 Python уже связан в / usr / local / bin, и версия Python на моем пути - 2.7.3.
Стивен Дженнингс
Я не могу воспроизвести это ... Я думаю, что мы что-то упускаем из вашей среды. Символическая ссылка на: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config - упоминается в предыдущем вопросе ... это назад?
Рэндалл Хант
@ranman /usr/local/lib/python2.7/config является символической ссылкой на /usr/local/Cellar/.../lib/python2.7/config, которая содержит config.c, среди других файлов.
Стивен Дженнингс
Вы устанавливаете одну и ту же формулу и ту же версию MacVim в обеих системах? Может быть, что-то сломалось между выпусками и ваши обновления не связаны?
Даниэль Бек

Ответы:

22

Здесь не очень хороший ответ, но я хотел оставить заметку, подтверждающую, что я столкнулся с точно такой же проблемой при новой установке Mountain Lion.

По ссылке ниже есть интересное обсуждение, в котором предлагается противоречивая ошибка между файлами конфигурации MacVim и Python ... но внесение предложенных изменений в файл конфигурации не сработало для меня (при условии, что я все сделал правильно).

/programming/6490513/vim-failing-to-compile-with-python-on-os-x/8276426#8276426

Что сделали работу для меня, гм, кусают пули и только символическую ссылку системы питона установки к доморощенному. Чувствует себя грязно, но, по крайней мере, теперь я полностью занят работой над сторонними модулями ...

cd /System/Library/Frameworks/Python.framework/Versions
sudo mv Current Current-sys
sudo ln -s /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7 Current

brew install macvim

sudo mv Current Current-brew
sudo mv Current-sys Current
Майк Репасс
источник
Ага! Поэтому я попытался сначала изменить Makefile, затем также создать символическую ссылку на платформу /System/Library/Frameworks, и теперь она работает даже после восстановления символической ссылки. Я вернусь и выясню, были ли оба необходимы, и, возможно, попробую разобраться в том, что происходит, черт возьми, но вы определенно получите мою благодарность (и щедрость; неплохо, получив 200 повторений за ваш первый ответ)!
Стивен Дженнингс
1
Да, даже если я /System/Library/.../Currentверну Makefile обратно, пока я ссылаюсь на версию Homebrew, MacVim компилируется с 2.7.3.
Стивен Дженнингс
Потрясающие! Так рада, что это сработало. Счастливого Вимминга.
Майк Репасс
Просто хотел сказать, что это решило и мою проблему.
Джереми Кантрелл
У меня тоже была эта проблема в течение нескольких дней, и как только я использовал brew install macvim , я использовал команду brew link --overwrite macvim, и тогда она заработала отлично!
SamTebbs33
2

Я только что установил исправление 1, чтобы MacVim собирал с использованием сваренного Python (если он у вас есть) и успешно загрузил Powerline (я установил его после того, как мой сваренный Python был выполнен через pip install pip install git+git://github.com/Lokaltog/powerline). Не забудьте установить свой ~/.vimrc.

Никогда не переименовывайте вещи внутри /System.

Пожалуйста, убираете локальные изменения, восстановить ваши /System, brew updateи brew rm macvimнаконец brew install macvim.

Сэмюэл Джон
источник