如何为 Ironpython27 安装 numpy 和 scipy?

How to install numpy and scipy for Ironpython27?

我觉得这是以前最流行的做法:

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

但是这个link已经不存在了:

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


我最近找到了指令的克隆,还在 github 上找到了 ironpkg-1.0.0.py 的克隆。但是http://www.enthought.com/repo/.iron/eggs/index-depend.txt在网上已经不存在了(我google了一下,没找到)

开始使用 SciPy for .NET

1.) 铁Python 下载并安装 IronPython 2.7,这将需要 .NET v4.0。

2.) 修改路径

在路径中添加安装位置,通常是: C:\程序File\IronPython2.7

但在 64 位 Windows 系统上是: C:\Program File (x86)\IronPython 2.7

作为检查,打开 Windows 命令提示符并转到一个目录(不是上面的目录)并键入:

ipy -V PythonContext 2.7.0.40 on .NET 4.0.30319.225

3.) ironpkg

Bootstrap ironpkg,它是二进制(基于 egg)Python 包的包安装管理器。下载 ironpkg-1.0.0.py 并输入:

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

安装 scipy 现在很容易:

ironpkg scipy numpy-2.0.0b2-1.egg

问题

我想我已经尽力了。有没有人成功为 Ironpython27 安装了 numpy 和 scipy?

[热情支持的评论:此答案中的 link 无效。请参阅以下 Jonathan March 于 2018 年 8 月 17 日的回答]

对于那些努力为 ironpythonpn 安装 numpy/scipy 的人,考虑将下载 link 移动到 https://store.enthought.com/repo/.iron/ 。 link 只有在您注册后才允许您进入。

所以首先你要免费注册,然后打开上面的link,然后按照下面的步骤

  1. 下载 IronPython-2.7.msi 并安装。

  2. 从上面link.

  3. 下载ironpkg-1.0.0.py
  4. 使用命令行导航到放置 ironpkg-1.0 的目录。0.py 和 运行 ipy ironpkg-1.0.0.py --install 使用 ironpkg -h
  5. 检查安装是否有效
  6. 最后一步与 enthoughts 建议的略有不同。 运行 ironpkg scipy 将无法使用,因为它会查看旧网址以供下载。而是从上面link下载所有的彩蛋和index-depend.txt。要使安装正常进行,您必须修改配置文件中的下载位置以指向本地驱动器而不是网站。配置文件可以在用户目录中找到,例如 C:\Users\Nilster\.ironpkg 。在 textpad 中打开它并将位置更改为您下载鸡蛋的目录例如,我的看起来像

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

  7. 然后运行安装下面的numpy/scipyironpkg scipy

  8. 使用ipy -X:Frames -c "import scipy"

  9. 检查安装是否成功

只是为了确认@Nilster 的第二句话:我刚收到一封来自 Enthought 支持的电子邮件,内容如下:[注意:此 link 已过时。]

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/

注册后,我按照 Nilster 的指示进行操作,一切顺利。我唯一要补充的是,第 4 步中提到的 .ironpkg 配置文件是根据 Windows 的系统文件,因此您在 Windows 文件夹视图选项中显示系统文件;只显示隐藏文件不会显示它

所以 Enthough link 中的说明让我一路走到了第 4 步 (ironpkg scipy) 但后来我遇到了 urllib2 的问题(我不知道出了什么问题,它只是说 "Can't open URL ...")

虽然这个比较新 post: http://www.grasshopper3d.com/forum/topics/scipy-and-numpy 我仍然停留在: 'NumpyDotNet.NpyCoreApi' 抛出异常

所以我放弃了,这是一个兔子洞。问题很明显,IronPython 太老了,在我看来应该避免使用。

在此给予支持。

Iron Python numpy 和 scipy 包可以在这里下载: http://code.enthought.com/.iron/README.txt http://code.enthought.com/.iron/eggs/index.html

仅供参考,Microsoft 在 2012 年停止了 IronPython 项目的工作,转而支持标准 CPython。 numpy 和 scipy 的那些存档版本是在 2011 年构建的(因此不包含更新的功能或修复),并且仅支持 32 位。我们不打算以任何方式更新它们。

仅供参考,我们通常建议那些希望在 .net 上下文中使用 Python 的人考虑使用积极开发的 pythonnet 包来与实时 CPython 生态系统交互。

2019 年 7 月更新说明:

我能够在 IronPython 中启动 scipy 和 运行ning,但无法完全按照@Nilser 的说明进行操作。这里有一些更新的说明,以使其正常工作。

正如其他人所说,回购现在位于 http://code.enthought.com/.iron/eggs/index.html。不要费心注册一个 Enthoughts 帐户来访问旧的 link,就像上面的一些评论所建议的那样。

ironpkg-1.0.0.py 文件出于某种原因不再托管在 Enthought 的存储库中。我能够找到它并且是 hosting it on github 所以它更容易找到。

  1. IronLanguages GitHub page 下载 IronPython-2.7.5.msi 并安装。我无法让 scipy 在较新版本的 IronPython 上工作。我相信 dll 绑定到 IronPython 的 2.7.5 版本。
  2. IronPython 2.7IronPython 2.7\Scripts 文件夹添加到您的 PATH 环境变量。
  3. Enthought repo 下载 ironpkg-1.0.0.1.egg
  4. 从 GitHub 复制 ironpkg-1.0.0.py 文件的内容,并在您下载 ironpkg egg 的同一文件夹中创建一个内容名为 ironpkg-1.0.0.py 的新文件。
  5. 以管理员身份打开 cmd 提示符并导航到 ironpkg-1.0.0.py 文件所在的位置。 运行ipy ironpkg-1.0.0.py --install。使用 ironpkg -h.
  6. 检查安装是否有效
  7. 由于 Enthoughts 更改了其存储库的位置,因此有必要更改 ironpkg 配置文件以指向新位置的地址。当您第一次尝试安装 scipy 时,将在用户目录中创建此配置文件,但可以在创建文件之前通过更新安装程序包的 config.py 文件来更改默认文件内容。这将在 IronPython stdlib 中,无论 IronPython 安装到哪里。对我来说是 c:\program files (x86)\ironpython 2.7\lib\site-packages\enstaller\config.py。在文本板中打开它。默认文件内容在 RC_TMPL 变量中。将字符串中的地址更新为:
IndexedRepos = [
    'http://code.enthought.com/.iron/eggs',
]
  1. 现在您可以 运行 ironpkg scipy 安装 scipy 及其依赖项。
  2. 检查 运行ning ipy -X:Frames -c "import scipy"
  3. 是否安装成功