Wie kann ich Homebrew Python mit Homebrew MacVim auf Mountain Lion verwenden?

13

Ich habe diese Frage ursprünglich gestellt und beantwortet: Wie kann ich die Homebrew Python-Version mit Homebrew MacVim verwenden?

Diese Anweisungen funktionierten auf Snow Leopard mit Xcode 4.0.1 und den zugehörigen Entwicklertools. Auf Mountain Lion mit Xcode 4.4.1 scheinen sie jedoch nicht mehr zu funktionieren.

Mein Ziel ist es, die Systemversion von Python vollständig unangetastet zu lassen und PyPI-Pakete nur in Homebrews zu installieren site-packages Verzeichnis. Ich möchte das benutzen vim_bridge Paket in MacVim, so muss ich MacVim gegen die Homebrew-Version von Python kompilieren.

Ich habe die MacVim-Formel bearbeitet, um diese zu den Argumenten hinzuzufügen:

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

Dann installiere ich mit dem Befehl:

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

Es scheint jedoch immer noch irgendwie Python 2.7.2 vom System zu verwenden. Das kommt mir merkwürdig vor, weil es anscheinend auch die richtige ausführbare Datei verwendet.

: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

Ich habe alles in entfernt /usr/local und neu installiert Homebrew durch Ausführen dieser Befehle:

$ 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
quelle
Hast du versucht zu rennen? brew link python und dann python --version auf einem frischen terminal?
Rash
@ user1099816 Python ist bereits in / usr / local / bin verlinkt, und die Python-Version in meinem Pfad ist 2.7.3.
Stephen Jennings
Ich kann das nicht reproduzieren ... Ich glaube, wir vermissen etwas an Ihrer Umwelt. Der in der vorherigen Frage erwähnte Symlink zu: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config ... ist das rückwärts?
Randall Hunt
@ranman /usr/local/lib/python2.7/config ist unter anderem mit /usr/local/Cellar/.../lib/python2.7/config verknüpft, das config.c enthält.
Stephen Jennings
Installieren Sie das gleiche Formelversion und genau die gleiche MacVim-Version auf beiden Systemen? Vielleicht ist zwischen den Releases etwas kaputt gegangen, und Ihre Upgrades haben nichts damit zu tun?
Daniel Beck

Antworten:

22

Keine gute Antwort hier, aber ich wollte eine Nachricht hinterlassen, die bestätigt, dass ich auf genau dasselbe Problem bei einer neuen Installation von Mountain Lion gestoßen bin.

Unter dem folgenden Link finden Sie einige interessante Diskussionen, die auf einen umstrittenen Fehler zwischen den Konfigurationsdateien von MacVim und Python hinweisen. Die vorgeschlagene Änderung in der Konfigurationsdatei hat jedoch bei mir nicht funktioniert (vorausgesetzt, ich habe es richtig gemacht).

https://stackoverflow.com/questions/6490513/vim-failing-to-compile-with-python-on-os-x/8276426#8276426

Was tat Arbeit für mich ist, ähm, die Kugel zu beißen und nur die System-Python-Installation mit dem Homebrew zu verknüpfen. Es fühlt sich schmutzig an, aber zumindest kann ich jetzt voll und ganz an Modulen von Drittanbietern arbeiten ...

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
quelle
Aha! Also habe ich zuerst versucht, das Makefile zu modifizieren, und dann auch das Framework in /System/Library/Frameworks, und jetzt funktioniert es auch nach dem Wiederherstellen des Symlinks. Ich werde zurückgehen und herausfinden, ob beides notwendig ist, und vielleicht versuchen, herauszufinden, was zum Teufel passiert, aber du bekommst definitiv meinen Dank (und Kopfgeld; nicht schlecht, wenn du 200 Wiederholungen für deine erste Antwort bekommst)!
Stephen Jennings
1
Ja, auch wenn ich das Makefile zurück lege, solange ich es habe /System/Library/.../Current MacVim ist mit Homebrews Version verbunden und wird mit 2.7.3 kompiliert.
Stephen Jennings
Genial! So froh, dass es geklappt hat. Glückliches Vimming.
Mike Repass
Ich wollte nur sagen, dass dies auch mein Problem behoben hat.
Jeremy Cantrell
Ich hatte dieses Problem auch für ein paar Tage und einmal hatte ich verwendet brauen installieren macvim Ich habe den Befehl verwendet Link brauen - Macvim überschreiben und dann hat es perfekt geklappt!
SamTebbs33
2

Ich habe gerade eine Lösung gefunden 1 Damit baut MacVim mit einem gebrauten Python (falls vorhanden) und lädt die Powerline erfolgreich (ich habe es nach meinem gebrauten Python über installiert) pip install pip install git+git://github.com/Lokaltog/powerline ). Vergessen Sie nicht, Ihre ~/.vimrc.

Benenne niemals Dinge innerhalb von um /System.

Bitte machen Sie die lokalen Änderungen rückgängig und stellen Sie Ihre Einstellungen wieder her /System, brew update und brew rm macvim und schlussendlich brew install macvim.

Samuel John
quelle