oct2py没有看到OCTAVE_EXECUTABLE环境变量(Windows)

问题描述 投票:1回答:3

所以,我试图在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文件夹添加到我的Path并删除OCTAVE_EXECUTABLE。都没有工作。

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

这里有什么想法?

python octave oct2py
3个回答
1
投票

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


0
投票

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

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


0
投票

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

看来,在该行的某处,octave.exe被octave-cli.exe取代。 ocave包中不再包含octave.exe。其他人已成功将octave-cli.exe指向OCTAVE_EXECUTABLE

最近更多的人有类似的问题,oct2py开发人员几小时前在5.0.0版本中修复了它。实际上他们said

啊,我看到这里的问题是什么。在您有机会设置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')
© www.soinside.com 2019 - 2024. All rights reserved.