How to install numpy and scipy for Ironpython27?
Asked Answered
B

5

14

I think this is the most popular way to do it before:

https://pytools.codeplex.com/wikipage?title=NumPy%20and%20SciPy%20for%20.Net

But this link is no longer exist:

https://store.enthought.com/repo/.iron/


I recently found a clone for the instruction, and also found a clone of ironpkg-1.0.0.py on github. But http://www.enthought.com/repo/.iron/eggs/index-depend.txt is no longer exists in the internet(I googled it, but failed to find it)

Getting started with SciPy for .NET

1.) IronPython Download and install IronPython 2.7, this will require .NET v4.0.

2.) Modify PATH

Add the install location on the path, this is usually: C:\Program File\IronPython 2.7

But on 64-bit Windows systems it is: C:\Program File (x86)\IronPython 2.7

As a check, open a Windows command prompt and go to a directory (which is not the above) and type:

ipy -V PythonContext 2.7.0.40 on .NET 4.0.30319.225

3.) ironpkg

Bootstrap ironpkg, which is a package install manager for binary (egg based) Python packages. Download ironpkg-1.0.0.py and type:

ipy ironpkg-1.0.0.py --install
Now the ironpkg command should be available:

ironpkg -h (some useful help text is displayed here)

4.) scipy

Installing scipy is now easy:

ironpkg scipy numpy-2.0.0b2-1.egg

Question

I think I have done as much as I can do. Any body succeed to install numpy and scipy for Ironpython27?

Blouse answered 1/4, 2015 at 17:54 Comment(1)
Hi, just a comment, this is by no means a solution, but seeing the comment from Enthought ... anyway, just an idea: the library mathnet.numerics is quite easy to use in ironpython and has quite some functions. Maybe it also fits your needs?Jahdal
E
15

[COMMENT BY ENTHOUGHT SUPPORT: The link in this answer is not valid. See answer below by Jonathan March on August 17, 2018]

For those struggling to get numpy/scipy install for ironpythopn, enthought have moved the download link to https://store.enthought.com/repo/.iron/ . The link would only allow you in if you are registered.

Therefore first up you'd have to register yourself for free, then open the above link, then follow the steps below

  1. Download the IronPython-2.7.msi and install it.

  2. Download ironpkg-1.0.0.py from the above link.

  3. Using command line navigate to the directory where you placed ironpkg-1.0.0.py and run ipy ironpkg-1.0.0.py --install Check whether the install worked using ironpkg -h
  4. The last step is lightly different to the one suggested by enthoughts. Running ironpkg scipy won't work as it looks at the old web address for download. Instead download all the eggs and index-depend.txt from the above link. For installation to work, you would have to modify the download location in the config file to point to the local drive instead of website. The config file can be found at user directory eg.C:\Users\Nilster\.ironpkg . Open it in the textpad and change the location to directory where you downloaded the eggs Eg, mine looks like

    IndexedRepos = ['file://C:\Work\Python\Enthought_Eggs',]

  5. Then run the following to install numpy/scipy ironpkg scipy

  6. Check whether the install worked using ipy -X:Frames -c "import scipy"

Eller answered 6/1, 2016 at 9:58 Comment(5)
Hi, just checked and the link above still works. As I said, you would have to register as a user to see the content of the webpage otherwise "Page not Found" would appear. If you see this message, click on the very top right to create a new account and once you are a registered user try the link again to download the files.Eller
Oops, you're correct. Was confused by site behavior of "page not found" rather than the more conventional "must log in", but it's exactly as you said.Mischance
Does this work on 64-bit systems as well? I was able to get through the installation but am now stuck with "Failed while initializing NpyCoreApi: BadImageFormatException: An attempt was made to load a program with an incorrect format" when attempting to load the NumpyDotNet.dll assembly.Mischance
I cannot get ipy to load the NumpyDotNet DLL. I've added the "...\IronPython 2.7\DLLs" directory to both my IRONPYTHONPATH and my system Path environment variables, and I always get a "No module named NumpyDotNet" error. Any thoughts?Cambridgeshire
Look to code.enthought.com/.iron/eggs/index.html for the new linkKiushu
V
8

Enthought support here.

The Iron Python numpy and scipy packages can be downloaded here: http://code.enthought.com/.iron/README.txt http://code.enthought.com/.iron/eggs/index.html

FYI, Microsoft stopped work on the IronPython project in 2012 in favor of supporting standard CPython. Those archived versions of numpy and scipy were built in 2011 (so contain no newer features or fixes), and are 32-bit-only. We do not plan to update them in any way.

FYI, we typically recommend that those who wish to use Python in a .net context consider using the actively developed pythonnet package to interface with the living CPython ecosystem.

Ventriculus answered 17/8, 2018 at 18:1 Comment(0)
B
2

Updated Instructions July 2019:

I was able to get scipy up and running in IronPython but wasn't able to follow @Nilser's instructions completely. Here are some updated instructions to get it working.

Like others have said, the repo is now at http://code.enthought.com/.iron/eggs/index.html. Don't bother signing up for an Enthoughts account to access the old link, like some of the above comments suggest.

The ironpkg-1.0.0.py file is no longer hosted in Enthought's repo for some reason. I was able to track it down and am hosting it on github so it's easier to find.

  1. Download IronPython-2.7.5.msi from the IronLanguages GitHub page and install it. I wasn't able to get scipy to work on newer versions of IronPython. I believe the dlls are bound to the 2.7.5 release of IronPython.
  2. Add the IronPython 2.7 and IronPython 2.7\Scripts folders to your PATH environment variable.
  3. Download ironpkg-1.0.0.1.egg from the Enthought repo.
  4. Copy the contents of the ironpkg-1.0.0.py file from GitHub and create a new file with the contents named ironpkg-1.0.0.py in the same folder that you downloaded the ironpkg egg.
  5. Open the cmd prompt as an administrator and navigate to where the ironpkg-1.0.0.py file is. Run ipy ironpkg-1.0.0.py --install. Check whether the install worked using ironpkg -h.
  6. Since Enthoughts changed the location of their repository, it is necessary to change the ironpkg config file to point to the address of the new location. This config file will be created in the user directory when you first try to install scipy, but the default file contents can be changed before the file is created by updating the config.py file for the enstaller package. This will be in the IronPython stdlib, wherever IronPython got installed to. For me it was c:\program files (x86)\ironpython 2.7\lib\site-packages\enstaller\config.py. Open it in a textpad. The default file contents are in the RC_TMPL variable. Update the address in the string to be:
IndexedRepos = [
    'http://code.enthought.com/.iron/eggs',
]
  1. Now you can run ironpkg scipy to install scipy and its dependencies.
  2. Check whether the install worked by running ipy -X:Frames -c "import scipy"
Bluegill answered 19/7, 2019 at 20:27 Comment(1)
Still works, but note that when embedding this in a .Net application make sure sys.path is setup correctly (add full path to Lib;Lib/site-packages;DLLs directories from the IronPython stdlib), the frames option is set, and first do clr.AddReference('mtrand.dll') before importnig scipy otherwise it it cannot import mtrand.Purify
G
1

Just to confirm @Nilster's second sentence: I just received an email from Enthought support saying the following: [Note: this link is obsolete.]

The IronPython repos are still available, but are no longer maintained. To access them, you must be logged in on Enthought.com. The link to these repos is: http://www.enthought.com/repo/.iron/

After signing up I followed Nilster's instructions and everything worked without a hitch. The only that I'd add is that the .ironpkg config file mentioned in step 4 is a system file according to Windows, so you show system files in Windows folder view options; just showing hidden files won't reveal it

Gosh answered 22/2, 2016 at 15:59 Comment(0)
F
1

So instructions at the Enthough link got me all the way to the step 4 (ironpkg scipy) but then I had issue with urllib2 (I don't know what went wrong, it just says "Can't open URL ...")

And while this one is more current post: http://www.grasshopper3d.com/forum/topics/scipy-and-numpy I'm still stuck at: 'NumpyDotNet.NpyCoreApi' threw an exception

so I'm giving up, this has been a rabbit hole. Issue is clearly that IronPython is super old and should be avoided in my opinion.

Formate answered 12/7, 2016 at 20:53 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.