如何为 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,然后按照下面的步骤
下载 IronPython-2.7.msi 并安装。
从上面link.
下载ironpkg-1.0.0.py
- 使用命令行导航到放置 ironpkg-1.0 的目录。0.py 和 运行
ipy ironpkg-1.0.0.py --install
使用 ironpkg -h
检查安装是否有效
最后一步与 enthoughts 建议的略有不同。 运行 ironpkg scipy
将无法使用,因为它会查看旧网址以供下载。而是从上面link下载所有的彩蛋和index-depend.txt
。要使安装正常进行,您必须修改配置文件中的下载位置以指向本地驱动器而不是网站。配置文件可以在用户目录中找到,例如 C:\Users\Nilster\.ironpkg
。在 textpad 中打开它并将位置更改为您下载鸡蛋的目录例如,我的看起来像
IndexedRepos = ['file://C:\Work\Python\Enthought_Eggs',]
然后运行安装下面的numpy/scipyironpkg scipy
使用ipy -X:Frames -c "import scipy"
检查安装是否成功
只是为了确认@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 所以它更容易找到。
- 从 IronLanguages GitHub page 下载 IronPython-2.7.5.msi 并安装。我无法让 scipy 在较新版本的 IronPython 上工作。我相信 dll 绑定到 IronPython 的 2.7.5 版本。
- 将
IronPython 2.7
和 IronPython 2.7\Scripts
文件夹添加到您的 PATH 环境变量。
- 从 Enthought repo 下载
ironpkg-1.0.0.1.egg
。
- 从 GitHub 复制 ironpkg-1.0.0.py 文件的内容,并在您下载 ironpkg egg 的同一文件夹中创建一个内容名为
ironpkg-1.0.0.py
的新文件。
- 以管理员身份打开 cmd 提示符并导航到 ironpkg-1.0.0.py 文件所在的位置。 运行
ipy ironpkg-1.0.0.py --install
。使用 ironpkg -h
. 检查安装是否有效
- 由于 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',
]
- 现在您可以 运行
ironpkg scipy
安装 scipy 及其依赖项。
- 检查 运行ning
ipy -X:Frames -c "import scipy"
是否安装成功
我觉得这是以前最流行的做法:
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,然后按照下面的步骤
下载 IronPython-2.7.msi 并安装。
从上面link.
下载ironpkg-1.0.0.py
- 使用命令行导航到放置 ironpkg-1.0 的目录。0.py 和 运行
ipy ironpkg-1.0.0.py --install
使用ironpkg -h
检查安装是否有效
最后一步与 enthoughts 建议的略有不同。 运行
ironpkg scipy
将无法使用,因为它会查看旧网址以供下载。而是从上面link下载所有的彩蛋和index-depend.txt
。要使安装正常进行,您必须修改配置文件中的下载位置以指向本地驱动器而不是网站。配置文件可以在用户目录中找到,例如C:\Users\Nilster\.ironpkg
。在 textpad 中打开它并将位置更改为您下载鸡蛋的目录例如,我的看起来像IndexedRepos = ['file://C:\Work\Python\Enthought_Eggs',]
然后运行安装下面的numpy/scipy
ironpkg scipy
使用
ipy -X:Frames -c "import scipy"
检查安装是否成功
只是为了确认@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 所以它更容易找到。
- 从 IronLanguages GitHub page 下载 IronPython-2.7.5.msi 并安装。我无法让 scipy 在较新版本的 IronPython 上工作。我相信 dll 绑定到 IronPython 的 2.7.5 版本。
- 将
IronPython 2.7
和IronPython 2.7\Scripts
文件夹添加到您的 PATH 环境变量。 - 从 Enthought repo 下载
ironpkg-1.0.0.1.egg
。 - 从 GitHub 复制 ironpkg-1.0.0.py 文件的内容,并在您下载 ironpkg egg 的同一文件夹中创建一个内容名为
ironpkg-1.0.0.py
的新文件。 - 以管理员身份打开 cmd 提示符并导航到 ironpkg-1.0.0.py 文件所在的位置。 运行
ipy ironpkg-1.0.0.py --install
。使用ironpkg -h
. 检查安装是否有效
- 由于 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',
]
- 现在您可以 运行
ironpkg scipy
安装 scipy 及其依赖项。 - 检查 运行ning
ipy -X:Frames -c "import scipy"
是否安装成功