2009-08-18 21 views

Respuesta

9

El IronPython installer incluye la biblioteca estándar de Python. De lo contrario, puede usar la biblioteca estándar de una instalación compatible de Python (IPy 2.0 -> CPy 2.5, IPy 2.6 -> CPy 2.6). Copie el directorio Python Lib a la carpeta IronPython o establezca IRONPYTHONPATH.

Tenga en cuenta que solo estarán disponibles los módulos puros de Pyton; Los módulos de Python que requieren extensiones C deben ser reimplementados (y la mayoría de ellos lo han sido).

0

(Como ya he dicho here :)

No he utilizado yo mismo, pero es posible que conseguir un poco de kilometraje de Ironclad - que supuestamente le permite utilizar CPython de IronPython ...

+0

Depende puramente de las necesidades. Está bien, pero si vas a usar la lib estándar de Python, ¿por qué usar IronPython? (Lo sé, lo sé, podría haber razones válidas). – voyager

+1

Por un lado, IronPython es, con mucho, la implementación más rápida de Python, al menos en términos de rendimiento. –

3

Puede utilizar la biblioteca estándar de Python de IronPython sin problemas. Aquí se explica cómo hacerlo:

  1. Instalar Python.
  2. Configura una variable de entorno llamada IRONPYTHONPATH que apunta al directorio de biblioteca estándar.

La próxima vez que se ejecute ipy.exe, se leerá site.py y estará listo.

+2

IRONPYTHONPATH siempre se busca, por lo que no es necesario agregarlo a site.py. –

+0

Gracias Jeff, es bueno saberlo! –

+1

Acaba de terminar horas de dolor de cabeza para mí. –

2

El instalador .msi para IronPython incluye todas las partes de la biblioteca estándar CPython que deberían funcionar con IronPython. Simplemente puede copiar la biblioteca estándar de una instalación de CPython si lo prefiere, aunque es mejor obtener solo los módulos que los desarrolladores de IronPython han asegurado con IronPython: esta es la mayoría de ellos.

Los módulos que se implementan utilizando la API CPython C ('módulos de extensión') no estarán disponibles. IronClad es un proyecto de código abierto que tiene como objetivo permitirle utilizar estos módulos sin problemas; todavía no es perfecto, pero (por ejemplo) la mayoría de las pruebas de NumPy pasan.

La otra opción para estos 'módulos de extensión' es reemplazarlos por una versión Python pura (por ejemplo, desde PyPy) o con un contenedor sobre una clase .NET. El IronPython Community Edition es una distribución de IronPython que incluye tales envoltorios para muchos módulos que no están incluidos en la distribución estándar de IronPython.

Cuestiones relacionadas