Pregunta

RDFLib necesita que las extensiones de C se compilen para instalarse en ActiveState Python 2.5; por lo que puedo decir, no hay instalador binario en ningún lugar obvio en la web. Al intentar instalar con python setup.py install , produce el siguiente mensaje:

error: Python se creó con Visual Studio 2003;
Las extensiones deben construirse con un compilador que pueda generar binarios compatibles.
Visual Studio 2003 no se encontró en este sistema. Si tienes Cygwin instalado,
puedes intentar compilar con MingW32, pasando " -c mingw32 " a setup.py.

Hay varios recursos en la web acerca de la configuración de un compilador para distutils que discute el uso de MinGW, aunque aún no lo he hecho funcionar . Como alternativa tengo el VS2005.

¿Puede alguien decirme categóricamente si puede usar el compilador de C en VS2005 para compilar módulos de extensión de Python para un Python compilado de VS2003 (en este caso ActiveState Python 2.5). Si esto es posible, ¿qué configuración se necesita?

¿Fue útil?

Solución

No puedo decirte categóricamente, pero no creo que puedas. Solo me he encontrado con este problema en la situación inversa (Python construido con VS2005, tratando de construir con VS2003). Buscando en la web no apareció ninguna forma de piratearlo. Mi solución final fue obtener VC Express, ya que VC2005 es cuando Microsoft comenzó a lanzar las ediciones gratuitas. Pero obviamente eso no es una opción para ti.

No uso ActiveState Python, pero ¿hay alguna versión más reciente que puedas usar? La fuente se envía con los archivos de proyecto para VS2008, y estoy bastante seguro de que las compilaciones binarias de python.org dejaron de usar VS2003 hace un tiempo.

Otros consejos

El problema principal es la biblioteca en tiempo de ejecución de C Python 2.4 / 2.5 vinculado contra msvcr71.dll y, por lo tanto, todas las extensiones C deben vincularse con esta dll.

Otra opción es usar gcc (mingw) en lugar de VS2005, puedes usarlo para compilar solo extensiones de python. Hay un instalador decente que te permite configurar gcc como compilador predeterminado para tu versión de Python:

http://www.develer.com/oss/GccWinBinaries

A partir de hoy, marzo de 2012, puedo decir categóricamente que es posible con Python2.4.4 (solo uno que he probado) y Visual Studio 2005 y 2008. Simplemente instale VS10 para verificarlo. No sé por qué funciona y tengo problemas para usar distutils, así que tengo que compilar manualmente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top