¿Cómo puedo usar Homebrew Python con Homebrew MacVim en Mountain Lion?

14

Originalmente pregunté y respondí esta pregunta: ¿Cómo puedo usar la versión de Homebrew Python con Homebrew MacVim?

Estas instrucciones funcionaron en Snow Leopard usando Xcode 4.0.1 y herramientas de desarrollo asociadas. Sin embargo, ya no parecen funcionar en Mountain Lion con Xcode 4.4.1.

Mi objetivo es dejar la versión del sistema de Python completamente intacta e instalar solo paquetes de PyPI en el site-packagesdirectorio de Homebrew . Quiero usar el paquete vim_bridge en MacVim, así que necesito compilar MacVim contra la versión Homebrew de Python.

He editado la fórmula de MacVim para agregarlos a los argumentos:

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

Luego instalo con el comando:

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

Sin embargo, todavía parece estar usando de alguna manera Python 2.7.2 del sistema. Esto me parece extraño porque también parece estar usando el ejecutable correcto.

: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

Eliminé todo /usr/localy reinstalé Homebrew ejecutando estos comandos:

$ 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
fuente
¿Has intentado correr brew link pythony luego python --versionen una nueva terminal?
Erupción
@ user1099816 Python ya está vinculado en / usr / local / bin, y la versión de Python en mi ruta es 2.7.3.
Stephen Jennings
No puedo reproducir esto ... Creo que nos falta algo sobre tu entorno. El enlace simbólico a: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config - mencionado en la pregunta anterior ... ¿eso está al revés?
Randall Hunt
@ranman /usr/local/lib/python2.7/config está vinculado a /usr/local/Cellar/.../lib/python2.7/config, que contiene config.c, entre otros archivos.
Stephen Jennings
¿Está instalando la misma versión de fórmula y exactamente la misma versión de MacVim en ambos sistemas? ¿Quizás algo se rompió entre lanzamientos y sus actualizaciones no están relacionadas?
Daniel Beck

Respuestas:

22

No es una buena respuesta aquí, pero quería dejar una nota confirmando que encontré exactamente el mismo problema en una instalación ~ Mountain Lion nueva.

Hay una discusión interesante en el siguiente enlace que sugiere un error controvertido entre los archivos de configuración de MacVim y Python ... pero hacer el cambio sugerido en el archivo de configuración no funcionó para mí (suponiendo que lo hice bien).

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

Lo que funcionó para mí es, ejem, morder la bala y simplemente simular la instalación de Python del sistema en el homebrew. Se siente sucio, pero al menos ahora tengo omnicomplete completo trabajando en módulos de terceros ...

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
fuente
A-ha! Así que primero intenté modificar el Makefile, luego también simblinking el marco /System/Library/Frameworks, y ahora funciona incluso después de restaurar el enlace simbólico. Volveré y averiguaré si ambos eran necesarios, y tal vez intente investigar qué diablos está sucediendo, ¡pero definitivamente recibes mi agradecimiento (y recompensa; no está mal obtener 200 repeticiones por tu primera respuesta)!
Stephen Jennings
1
Sí, incluso si devuelvo el Makefile, siempre que haya /System/Library/.../Currentvinculado a la versión de Homebrew, MacVim compila con 2.7.3.
Stephen Jennings el
¡Increíble! Me alegra que haya funcionado. Feliz vimming
Mike Repass el
Solo quería decir que esto también solucionó mi problema.
Jeremy Cantrell
Tuve este problema durante un par de días también y una vez que usé brew install macvim , usé el comando brew link: sobrescribir macvim y ¡funcionó perfectamente!
SamTebbs33
2

Acabo de introducir una solución 1 para que MacVim compile con una Python elaborada (si tiene una) y cargue con éxito la línea eléctrica (la instalé después de mi vía Python elaborada pip install pip install git+git://github.com/Lokaltog/powerline). No olvides configurar tu ~/.vimrc.

Nunca cambies el nombre de las cosas dentro de /System.

Por favor, revertir los cambios locales, restaurar /System, brew updatey brew rm macvimpor último brew install macvim.

Samuel John
fuente