2011-05-28 22 views
11

he python3 instalado a través de homebrew: brew install python3 --framework¿Compila vim con Python3 (instalado a través de Homebrew)?

tengo la fuente de vim (7.3) descargado en /usr/src

corro:

./configure --prefix=/usr/local --enable-rubyinterp --enable-python3interp --disable-gpm --enable-gui=no --enable-multibyte 

Y en mi src/auto/config.log veo:

configure:5442: checking --enable-python3interp argument 
configure:5451: result: yes 
configure:5456: checking for python3 
configure:5489: result: no 

busqué en Google alrededor de algunos, y encontré this, así que intenté e enlace simbólico para python3.2 y configurar a continuación, ejecutar la siguiente manera:

./configure --prefix=/usr/local --enable-rubyinterp --enable-python3interp --disable-gpm --enable-gui=no --enable-multibyte --with-python3-config-dir=/usr/local/Cellar/python3/3.2/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config-3.2m 

Y mi registro muestra el mismo error. ¿Qué debo hacer para obtener vim compilado con soporte para Python3?

Y no: no quiero usar MacVim.


➜ ls -al /System/Library/Frameworks/Python.framework/Versions 
total 16 
drwxr-xr-x 7 root wheel 238 May 28 15:33 . 
drwxr-xr-x 7 root wheel 238 Sep 21 2010 .. 
drwxr-xr-x 8 root wheel 272 Sep 17 2010 2.3 
drwxr-xr-x 12 root wheel 408 Dec 1 12:49 2.5 
drwxr-xr-x 12 root wheel 408 Dec 1 12:49 2.6 
lrwxr-xr-x 1 root wheel 70 May 28 15:33 Current -> /usr/local/Cellar/python3/3.2/Frameworks/Python.framework/Versions/3.2 
lrwxr-xr-x 1 root wheel 3 Sep 17 2010 old-Current -> 2.6 

➜ which python3.2 
/usr/local/bin/python3.2 

ACTUALIZACIÓN: he conseguido que funcione a la this post con Python 2.7.1 a través de Homebrew, pero todavía no hay alegría con Python 3 ...

Respuesta

6

Hay un problema con el script de configuración. Desde python 3.2, los directorios config e include obtienen el abiflag incluido (ver PEP 3149).

El siguiente problema es que la secuencia de comandos de configuración analiza la configuración de python y los indicadores para el vinculador no son correctos para una compilación de marco, por lo que el programa de prueba del script de configuración no se puede compilar.

Ya envié un parche a vim y se incluyó (el repositorio mercurial lo tiene).

`./configure --enable-python3interp vi_cv_path_python3=/usr/local/bin/python3.2` 

debería funcionar.

Vim Patch: https://github.com/codedreality/vim/tree/fix-python3x-support

MacVim Patch: https://github.com/codedreality/macvim/tree/fix-python3x-support

+0

¡Sí! Finalmente funciona Gracias por el parche! El enlace – neezer

+0

para Vim Patch está roto. ¿Alguna sugerencia? –

+0

enlace de ruta todavía está roto para mí también. Sugiera algo ya que aún está roto – vitiral

2

Cuando se prueba a mira si funcionó, asegúrate de usar el binario de Vim creado por la construcción, no el script de mvim. mvim (incluso si llama a la versión en su árbol fuente) se verá en/Aplicaciones/para MacVim.app primero.

Tal vez esto le dará un poco de alegría:

./configure \ 
    --enable-python3interp=dynamic \ 
    --with-python3-config-dir=/usr/local/Cellar/python3/3.2/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config/ 
+0

No hay alegría. Obtengo los mismos errores en mi registro: 'checking --enable-python3interp argument ... dynamic/checking for python3 ... no'. Además, sé que estoy comprobando el binario correcto: (en el directorio vim src) '➜ ./src/vim --version'. – neezer

+0

Intente forzar la búsqueda de la versión de Python usando la variable autoconf. ./configure --enable-python3interp = dynamic --with-python3-config-dir = blah/blah vi_cv_path_python3 =/usr/local/bin/python3.2 – synthesizerpatel

+0

No, eso tampoco funciona. Parece recogerlo en la salida de configuración (https://gist.github.com/1014434), pero las variables no están definidas en '/ src/auto/config.mk' (https: //gist.github .com/1014435) y el binario compilado todavía lee '-python3'. ¿Algún otro pensamiento? – neezer

Cuestiones relacionadas