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

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

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.