Anaconda/Spyder 中的 oct2py 无法识别八度

oct2py in Anaconda/Spyder not recognizing octave

Windows7

Anaconda/python 版本 3.4

Octave 版本 4.0.3

OCTAVE_EXECUTABLE = C:\Users\Heather\Octave-4.0.3\bin

大家好,

几天来,我一直在尝试使用 Spyder 让 oct2py 在 Anaconda 中工作。我想知道是否有人可以告诉我在 windows 机器上使用 Spyder 的正确方法?基本设置可能或者我使用了错误的包?

到目前为止,我已经使用以下方法为 Anaconda Cloud 安装了 oct2py 包:

conda 安装-c conda-forge oct2py=3.5.9

在 oct2py 的所有文档中都提到需要下载 Octave 才能使 oct2py 工作。所以从这个页面 pypi.python.org/pypi/oct2py,它提到在

从 sourceforge 获取 Octave

https://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/

我从那里下载了 Octave 3.6.4,一位朋友帮助我在我的环境变量中获得了指向它的 OCTAVE_EXECUTABLE。此时我可以在命令行中输入 'octave',它会调出一个 Octave 实例,但 Spyder 永远不会识别出我安装了 Octave。

因此:

从 oct2py 导入八度

错误:无法导入名称八度

此时我意识到 sourceforge Octave 说它是一个补充包,所以我卸载了 Octave 3.6.4 并从 http://www.gnu.org/software/octave/ 为 windows 安装了 Octave 4.0.3。现在,当我单击该应用程序时,Octave 可以很好地打开,但命令行无法识别术语 'octave',我觉得这是倒退了一步。我再次查看我的 env 变量,Octave 的新路径出现在系统变量中,我更新了 OCTAVE_EXECUTABLE 以指向 Octave 的新版本(目录中没有空格)。但是我的电脑即使在完全关机并重新启动后也无法识别命令行中的 'octave' 并且当我尝试 运行 oct2py.Oct2Py().

时 Spyder 仍然看不到我有八度音阶

所以毕竟我想知道是否有人让 oct2py 在 Anaconda 中工作,尤其是使用 Spyder?为何如此?我试图让我的 python 脚本打开并使用 .m 文件执行函数并输出一个矩阵,该矩阵将在脚本中进一步用于计算。但是,如果我什至无法让它识别八度音阶,那么我不知道如何完成它。

代码示例:

from oct2py import Oct2Py
filename = 'filename'
oc = Oct2Py()
eph_matrix = oc.read_eph(filename)
print(eph_matrix) #nx25 matrix

如果我能让 python 识别 Octave,我就可以通过导入线,我很有希望。

如有任何帮助,我们将不胜感激。

OCTAVE_EXECUTABLEOCTAVE 环境变量应直接指向 可执行文件 而不是包含可执行文件的文件夹。所以您可能希望将其设置为

OCTAVE_EXECUTABLE = C:\Users\Heather\Octave-4.0.3\bin\octave-cli.exe

另一种选择是提供可执行文件作为 Oct2Py 的第一个输入。

from oct2py import Oct2Py
octave = Oct2Py('C:\Users\Heather\Octave-4.0.3\bin\octave-cli.exe')

此外,如果您希望能够从 Windows 命令提示符 运行 它,您需要将包含可执行文件 ('C:\Users\Heather\Octave-4.0.3\bin') 的文件夹添加到 PATH环境变量。