gpt4 book ai didi

.net - IronPython 无法运行导入 numpy 的脚本

转载 作者:行者123 更新时间:2023-12-05 03:13:23 24 4
gpt4 key购买 nike

免责声明 - 我不熟悉 Python。我是一名 C# 开发人员,他使用 IronPython 编写了一个应用程序来执行 Python 脚本(由其他人编写)。到目前为止,这些脚本只需要使用 import math,但我们的一位用户要求该应用程序支持 Numpy。

我已经在我的 PC 上安装了 Numpy(使用“numpy-1.9.2-win32-superpack-python2.7.exe”文件),它在\Lib\site-packages 下创建了一个 numpy 文件夹。我写了一个两行的 Python 脚本来测试 Numpy 是否可以访问:-

import numpy as np
x = np.array([1,2])

我从 C# 中运行脚本:-

var engine = Python.CreateEngine();
engine.SetSearchPaths(new Collection<string>(new[]
{
@"C:\Python27",
@"C:\Python27\DLLs",
@"C:\Python27\Lib",
@"C:\Python27\Lib\site-packages",
@"C:\Python27\Lib\site-packages\numpy",
@"C:\Python27\Lib\site-packages\numpy\core"
}));
var scope = engine.CreateScope();
var scriptSource = engine.CreateScriptSourceFromString(
_myPythonScript,
SourceCodeKind.Statements);
scriptSource.Execute(scope);

尽管设置了所有这些搜索路径,但最后一行抛出 ImportException:-

cannot import multiarray from numpy.core

请注意 this SO 文章类似,但没有帮助 - 第一个答案提到了一个“mtrand.dll”文件,我似乎没有。

我错过了什么?

最佳答案

您遇到了 IronPython 的主要限制 - 它不支持 CPython 的 C-API。因此你需要使用 pythonnet:

https://github.com/pythonnet/pythonnet

您可以尝试 numpy 的纯 python 实现:

https://github.com/wadetb/tinynumpy

关于.net - IronPython 无法运行导入 numpy 的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30299837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com