繁体   English   中英

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

[英]oct2py isn't seeing OCTAVE_EXECUTABLE environment variable (Windows)

所以,我试图在 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']) ,它返回预期的路径。

这里有什么想法吗?

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

看起来,在这条线上的某个地方,octave.exe 被替换为八度角cli.exe。 不再随 Octave 包分发 Octave.exe。 其他人已成功将 OCTAVE_EXECUTABLE 指向 Octave-cli.exe

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

啊,我明白问题出在哪里了。 在您有机会设置executable属性之前,便创建了方便的octave实例。 鉴于这一事实,我认为唯一正确的答案是删除可执行参数以支持使用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')

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

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

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

不确定这是否会在 OP 之后这么久有所帮助,但以下是对我有用的方法:

  1. 将 Octave 下载为 .7z 文件并将其解压缩到硬盘
  2. 运行 post-install.bat(来自名为八度音程-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附带了一个),然后由于我不是管理员,我想我永远无法安装它,但我解决了!

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

OCTAVE_EXECUTABLE

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM