Comment puis-je utiliser le Homebrew Python avec Homebrew MacVim sur Mountain Lion?

14

J'ai à l'origine posé la question et répondu à cette question: comment utiliser la version Homebrew Python avec Homebrew MacVim?

Ces instructions ont fonctionné sur Snow Leopard à l'aide de Xcode 4.0.1 et des outils de développement associés. Cependant, ils ne semblent plus fonctionner sur Mountain Lion avec Xcode 4.4.1.

Mon objectif est de laisser la version système de Python complètement intacte et d'installer uniquement les packages PyPI dans le site-packagesrépertoire de Homebrew . Je veux utiliser le package vim_bridge dans MacVim, j'ai donc besoin de compiler MacVim avec la version Homebrew de Python.

J'ai édité la formule MacVim pour les ajouter aux arguments:

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

Ensuite, j'installe avec la commande:

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

Cependant, il semble toujours utiliser Python 2.7.2 du système. Cela me semble étrange car il semble également utiliser le bon exécutable.

: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

J'ai tout supprimé /usr/localet réinstallé Homebrew en exécutant ces commandes:

$ 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
la source
Avez-vous essayé de courir brew link pythonpuis python --versionsur un nouveau terminal?
Rash
@ user1099816 Python est déjà lié dans / usr / local / bin, et la version Python dans mon chemin est 2.7.3.
Stephen Jennings
Je ne peux pas reproduire cela ... Je pense que nous manquons quelque chose à propos de votre environnement. Le lien symbolique vers: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config - mentionné dans la question précédente ... est-ce à l'envers?
Randall Hunt
@ranman /usr/local/lib/python2.7/config est lié symboliquement à /usr/local/Cellar/.../lib/python2.7/config, qui contient config.c, entre autres fichiers.
Stephen Jennings
Installez -vous la même version de formule et la même version exacte de MacVim sur les deux systèmes? Peut-être que quelque chose s'est cassé entre les versions et que vos mises à niveau ne sont pas liées?
Daniel Beck

Réponses:

22

Pas une bonne réponse ici, mais je voulais laisser une note confirmant que j'ai rencontré exactement le même problème lors d'une nouvelle installation de Mountain Lion.

Il y a une discussion intéressante sur le lien ci-dessous qui suggère un bogue controversé entre les fichiers de configuration MacVim et Python ... mais effectuer la modification suggérée dans le fichier de configuration n'a pas fonctionné pour moi (en supposant que je l'ai fait correctement).

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

Ce qui a fonctionné pour moi est, ahem, mordant la balle et simplement reliant l'installation du python au homebrew. Je me sens sale, mais au moins je reçois un travail complet et omnicanal sur des modules tiers maintenant ...

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
la source
A-ha! J'ai donc d'abord essayé de modifier le Makefile, puis de créer un /System/Library/Frameworkslien symbolique vers le framework , et maintenant cela fonctionne même après la restauration du lien symbolique. Je vais revenir en arrière et déterminer si les deux étaient nécessaires, et peut-être essayer de creuser ce qui se passe, mais vous obtenez certainement mes remerciements (et ma prime; pas mal d'avoir 200 répétitions pour votre première réponse)!
Stephen Jennings
1
Oui, même si je remets le Makefile, tant que j'ai un /System/Library/.../Currentlien symbolique vers la version de Homebrew, MacVim compile avec 2.7.3.
Stephen Jennings
Impressionnant! Je suis tellement content que ça ait marché. Happy Vimming.
Mike Repass
Je voulais juste dire que cela a également résolu mon problème.
Jeremy Cantrell
J'ai aussi eu ce problème pendant quelques jours et une fois que j'ai utilisé brew install macvim , j'ai utilisé la commande brew link - overwrite macvim et cela a parfaitement fonctionné!
SamTebbs33
2

Je viens de pousser un correctif 1 pour que MacVim compile avec un Python brassé (si vous en avez un) et charge avec succès le powerline (je l'ai installé après mon python brassé via pip install pip install git+git://github.com/Lokaltog/powerline). N'oubliez pas de régler votre ~/.vimrc.

Ne renommez jamais les choses à l'intérieur /System.

S'il vous plaît, annuler les changements locaux, restaurer votre /System, brew updateet brew rm macvimenfin brew install macvim.

Samuel John
la source