Jak mogę używać Homebrew Python z Homebrew MacVim na Mountain Lion?

14

Pierwotnie zadałem i odpowiedziałem na to pytanie: Jak korzystać z wersji Homebrew Python z Homebrew MacVim?

Te instrukcje działały na systemie Snow Leopard przy użyciu Xcode 4.0.1 i powiązanych narzędzi programistycznych. Wydaje się jednak, że nie działają już w Mountain Lion z Xcode 4.4.1.

Moim celem jest pozostawienie wersji systemu Python całkowicie nietkniętej i instalowanie tylko pakietów PyPI w site-packageskatalogu Homebrew . Chcę użyć pakietu vim_bridge w MacVimie, więc muszę skompilować MacVima przeciwko Homebrew w wersji Pythona.

Zmodyfikowałem formułę MacVim, aby dodać je do argumentów:

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

Następnie instaluję za pomocą polecenia:

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

Jednak nadal wydaje się, że w jakiś sposób używa Pythona 2.7.2 z systemu. Wydaje mi się to dziwne, ponieważ wydaje się również, że używa poprawnego pliku wykonywalnego.

: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

Usunąłem wszystko /usr/locali ponownie zainstalowałem Homebrew, uruchamiając następujące polecenia:

$ 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
Stephen Jennings
źródło
Próbowałeś uruchomić, brew link pythona następnie python --versionna świeżym terminalu?
Wysypka
@ user1099816 Python jest już połączony w / usr / local / bin, a wersja Pythona na mojej ścieżce to 2.7.3.
Stephen Jennings
Nie mogę tego odtworzyć ... Myślę, że coś pomijamy w twoim otoczeniu. Dowiązanie symboliczne do: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config - wspomniane w poprzednim pytaniu ... czy to jest wstecz?
Randall Hunt
@ranman /usr/local/lib/python2.7/config jest symlinkowany z /usr/local/Cellar/.../lib/python2.7/config, który zawiera config.c, między innymi plikami.
Stephen Jennings,
Czy instalujesz tę samą wersję formuły i dokładnie taką samą wersję MacVim na obu systemach? Może coś się zepsuło między wydaniami, a twoje aktualizacje nie są ze sobą powiązane?
Daniel Beck

Odpowiedzi:

22

Nie jest to dobra odpowiedź, ale chciałem zostawić notatkę potwierdzającą, że napotkałem dokładnie ten sam problem w ~ świeżej instalacji Mountain Lion.

Pod linkiem poniżej znajduje się interesująca dyskusja, która sugeruje kontrowersyjny błąd między plikami konfiguracyjnymi MacVim i Python ... ale wykonanie sugerowanej zmiany w pliku konfiguracyjnym nie zadziałało dla mnie (zakładając, że zrobiłem to dobrze).

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

Co zrobiłem pracę dla mnie jest, hm, zagryzając zęby i po prostu symlinking pyton System zainstalować nad do homebrew. Czuję się brudny, ale teraz dostaję pełny omnicomplete, pracując teraz na modułach innych firm ...

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
Mike Repass
źródło
Aha! Próbowałem więc najpierw zmodyfikować plik Makefile, a następnie symlinkowanie frameworka /System/Library/Frameworks, a teraz działa nawet po przywróceniu dowiązania symbolicznego. Wrócę i stwierdzę, czy oba były konieczne, a może spróbuję zagłębić się w to, co się dzieje, ale na pewno dostaniesz moje podziękowania (i nagrodę; nieźle, otrzymujesz 200 powtórzeń za pierwszą odpowiedź)!
Stephen Jennings
1
Tak, nawet jeśli przywrócę Makefile, o ile mam /System/Library/.../Currentdowiązanie symboliczne do wersji Homebrew, MacVim kompiluje się z wersją 2.7.3.
Stephen Jennings
Niesamowite! Cieszę się, że się udało. Happy Vimming.
Mike Repass
Chciałem tylko powiedzieć, że to również rozwiązało mój problem.
Jeremy Cantrell,
Miałem ten problem także przez kilka dni, a kiedy użyłem brow instaluj macvima , użyłem polecenia brew link - nadpisuj macvim, a potem działało idealnie!
SamTebbs33,
2

Właśnie wcisnąłem poprawkę 1 , aby MacVim budował z warzonym Pythonem (jeśli go masz) i pomyślnie załadował linię energetyczną (zainstalowałem go po moim warzonym pythonie przez pip install pip install git+git://github.com/Lokaltog/powerline). Nie zapomnij ustawić ~/.vimrc.

Nigdy nie zmieniaj nazw rzeczy w środku /System.

Proszę powrócić lokalne zmiany, przywrócić /System, brew updatei brew rm macvimwreszcie brew install macvim.

Samuel John
źródło