所以,我尝试在 Windows 上使用 oct2py,如下所示:
from oct2py import octave
这实际上是我重现错误所需的唯一代码。
当我执行这个时,我得到OSError: Octave Executable not found, please add to path or set"OCTAVE_EXECUTABLE" environment variable
。但是,我have已经设置OCTAVE_EXECUTABLE
作为系统变量,它指向"C:\Octave\Octave-4.4.1\bin\octave-cli-4.4.1.exe"
。打开命令行并运行%OCTAVE_EXECUTABLE%
给了我 Octave CLI,所以我知道它是对的。
我试过重启。我还尝试将 Octave 文件夹添加到我的路径中并删除OCTAVE_EXECUTABLE
。都不起作用。
编辑:我也尝试过使用octave-cli.exe
,我尝试过做print(os.environ['OCTAVE_EXECUTABLE'])
,它返回预期路径。
这里有什么想法吗?
尽管您在评论中提到:
看起来,在这个过程中,octave.exe 被 Octave-cli.exe 取代了。 Octave 软件包不再提供 Octave.exe。其他人已成功将 OCTAVE_EXECUTABLE 指向 Octave-cli.exe
最近有更多人遇到类似的问题oct2py
开发人员将其修复在5.0.0
几个小时前的版本。其实他们said https://github.com/blink1073/oct2py/issues/147#issuecomment-489132477:
啊,我明白问题出在哪里了。便利性octave
在您有机会设置之前创建实例executable
财产。鉴于这一事实,我认为唯一正确的答案是删除可执行参数以支持使用PATH
or the OCTAVE_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')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)