6

所以,我正在尝试在 Windows 上使用 oct2py,如下所示:

from oct2py import octave

这实际上是我重现错误所需的唯一代码。

当我执行此操作时,我得到OSError: Octave Executable not found, please add to path or set"OCTAVE_EXECUTABLE" environment variable. 但是,我已经设置OCTAVE_EXECUTABLE为系统变量,它指向"C:\Octave\Octave-4.4.1\bin\octave-cli-4.4.1.exe". 打开命令行并运行%OCTAVE_EXECUTABLE% 会给我 Octave CLI,所以我知道它是正确的。

我试过重启。我还尝试将 Octave 文件夹添加到我的路径中并删除OCTAVE_EXECUTABLE. 都不工作。

编辑:我也试过使用 just octave-cli.exe,我试过做print(os.environ['OCTAVE_EXECUTABLE']),它返回预期的路径。

这里有什么想法吗?

4

5 回答 5

2

尽管您在评论中提到了什么:

似乎在某个地方,octave.exe 被 octave-cli.exe 取代。不再有随 Octave 软件包分发的 octave.exe。其他人已成功将 OCTAVE_EXECUTABLE 指向 octave-cli.exe

最近越来越多的人遇到了类似的问题,开发人员在几个小时前oct2py的版本中修复了它。5.0.0其实他们

啊,我明白这里有什么问题了。便利octave实例是在您有机会设置executable属性之前创建的。鉴于这一事实,我认为唯一正确的答案是删除可执行参数以支持使用PATHOCTAVE_EXECUTABLE环境变量。

无论如何,我必须调整我的代码以使其能够更新环境变量OCTAVE_EXECUTABLE

import shutil
import os
import sys

if sys.platform == 'win32':
    # os.environ['OCTAVE_EXECUTABLE'] = shutil.which('octave')
    # >> I had to replace this with this other line >>

    os.environ['OCTAVE_EXECUTABLE'] = shutil.which('octave-cli.exe')
于 2019-05-03T18:36:04.447 回答
1

有两个可执行文件,octave-cli.exe 和 octave-cli-4.4.1.exe。如果您尝试没有版本号的那个怎么办?我只需要重新启动 Spyder IDE 即可工作

于 2019-02-12T14:14:06.440 回答
1

文档(http://blink1073.github.io/oct2py/source/installation.html)提到 oct2py 实际上可能正在尝试查找名为 octave.exe 的文件,而不是 octave-cli.exe

尝试修改您的 OCTAVE_EXECUTABLE 以指向它。虽然,理论上,如果 octave.exe 和 octave-cli.exe 都位于同一个目录中,添加到路径应该可以工作......但无论如何都要尝试!

于 2019-02-12T23:10:45.720 回答
1

不确定这是否会在 OP 之后这么久有帮助,但这对我有用:

  1. 将 Octave 下载为 .7z 文件并将其解压缩到硬盘
  2. 运行 post-install.bat(从名为 octave-5.2.0-w64 或类似名称的文件夹中)
  3. 重新启动 Windows 10 机器(由于在运行 post-install.bat 期间遇到消息)
  4. 运行 octave-firsttime.vbs
  5. 退出 Octave 程序
  6. 执行以下 python 代码(在 3.7.6 中)
import os

pathToExecutable = (
    'D:\\wherever\\you\\put\\this\\octave-cli.exe'
)
os.environ['OCTAVE_EXECUTABLE'] = pathToExecutable
from oct2py import octave

我遇到了一个问题,因为首先,我不明白我需要安装一个 Octave 解释器(我以为oct2py是自带的),然后因为我不是管理员,所以我想我永远无法安装它,但我解决了!

于 2020-03-30T19:57:02.147 回答
0

使用 Windows 10 和 Octave 6.2.0 的本地用户安装创建新的用户环境变量:

OCTAVE_EXECUTABLE

并设置为:%LOCALAPPDATA%\Programs\GNU Octave\Octave-6.2.0\mingw64\bin\octave-cli.exe

为我工作。我不需要管理员权限。

于 2021-05-25T15:08:10.037 回答