Skip to content

Package compatibility

Pavel Koneski edited this page Mar 30, 2025 · 6 revisions

To install a Python module from PyPI, first perform a one-time preparation of a fresh IronPython installation or environment:

ipy -m ensurepip
ipy -m pip install --upgrade pip
ipy -m pip install --upgrade setuptools

Note

IronPython does not currently support packages which are CPython extension modules (i.e depend on CPython's .dll/.so/.dylib).

numpy

⚠️ Not supported - CPython extension module.

pandas

⚠️ Not supported - requires numpy.

pytest (4.6.11)

To install:

ipy -m pip install pytest==4.6.11 typing==3.10.0.0

The package fails with (probably the same issue as https://github.com/IronLanguages/ironpython3/issues/1212):

SystemError: Cannot access a closed file.

Edit _pytest/capture.py and replace:

with f:
    tmpfile = safe_text_dupfile(f, mode="wb+")

with:

tmpfile = EncodedFile(f, getattr(f, "encoding", "utf-8"))

requests (2.21.0)

To install:

ipy -m pip install requests==2.21.0

sympy (1.4)

To install:

ipy -m pip install sympy==1.4

The above will also automatically install mpmath 1.2.1 if not yet installed.

sympy comes with an interactive console, which can be started with:

ipy -m isympy

Clone this wiki locally