oct2py - 使用 spyder IDE 时无法导入名称 'octave'

oct2py - cannot import name 'octave' when using spyder IDE

我的电脑上安装了 python 3.4.3 和 Octave 3.6.4。我通过命令 pip install oct2py 安装了 oct2py 3.30 并且没有显示任何错误,但是当我尝试 运行:

import numpy as np
from oct2py import octave

我收到以下错误:

  File "C:/Users/myname/myfile.py", line 2, in <module>
    from oct2py import octave

ImportError: cannot import name 'octave'

在寻找答案时,我从创建者那里找到了 post,解释说当您从 oct2py 导入八度音阶时,您正在导入 Oct2Py class 的便利实例,所以我尝试了以下方法:

from oct2py import Oct2Py

运行宁这给了我消息:

octave not found.  Please see documentation at:
http://blink1073.github.io/oct2py/source/installation.html

但我已经完成了安装中说明的所有内容。 Octave 在我的路径中,如果我打开命令提示符并键入 octave 它将 运行 octave.

编辑:事实证明,如果我 运行 这些命令在 python 从命令提示符它们工作,我只在 运行 从 Spyder [=] 宁他们时得到错误34=]。我唯一能想到的问题是Spyders工作目录中可能有一个文件与某些东西冲突,但是我在查看文件时找不到任何东西。

我想我应该更新它现在正在运行。下次我在重新启动计算机后启动 Spyder 时,我 运行 相同的脚本未更改并且可以正常工作。我认为我的计算机只需要在将 Octave 添加到路径后重新启动。我最初不认为是这种情况,因为在更改路径后我现在可以从命令行 运行 Octave 而无需重新启动,但由于脚本不工作,重新启动我的计算机并且脚本现在工作,所以没有其他改变.

我在 Windows 8.1 上使用 Python 2.7.10 和 Octave 4.0.2 时遇到了同样的问题... 我只是通过添加以下脚本来修改第 697 行中的 oct2py\core.py 文件。 executable = executable + 'octave-cli' 其中变量可执行文件应该是 OCTAVE_EXECUTABLE 路径。例如,"C:\Octave\Octave-4.0.2\bin"。 也许这不是一个很好的方法,但它确实有效。