标签: oct2py

如何在 Windows 上安装 oct2py?

我想在 python 中安装 oct2py。我正在使用 Windows 8.1

我使用了命令 easy_install oct2py 并使用标准 exe 文件安装了八度音程。现在根据 安装指南,我应该添加八度音程路径。

setx PATH "%PATH%;<path-to-octave-bin-dir>
Run Code Online (Sandbox Code Playgroud)

我不明白这个命令。我试图将octave.exe文件所在的路径添加到环境变量中。

但是当我尝试导入 oct2py 时出现错误。

>>> import oct2py


Please install GNU Octave and put it in your path

>>> 
Run Code Online (Sandbox Code Playgroud)

任何人都可以请解释我究竟如何设置路径?
我应该在终端上运行的命令示例非常有用。谢谢

编辑:我试过了

setx PATH "%PATH%;C:\Software\Octave-3.6.4\bin"
Run Code Online (Sandbox Code Playgroud)

但我收到一条奇怪的消息:

WARNINGS: The data being saved is truncated to 1024 characters
SUCCESS: Specified value was saved
Run Code Online (Sandbox Code Playgroud)

python octave oct2py

5
推荐指数
1
解决办法
3133
查看次数

如何将 Octave 添加到我的 PATH 以使用 oct2py?

最终编辑:添加

export PATH=/usr/local/octave/3.8.0/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

到我的路径确实足以使 oct2py 正常工作(只要我在更改后重新启动终端)。哈扎!

---- 原帖----

我已经成功地 pip 安装了 oct2py 和 pexpect,但是在尝试导入和使用 oct2py 时遇到了问题。首先,在尝试以下操作时:

import oct2py
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

Please install GNU Octave and put it in your path
Run Code Online (Sandbox Code Playgroud)

所以我将以下行添加到 ~/usr/.bash_profile

export PATH=/usr/local/octave-3.8.0/bin:${PATH}
export PATH=/usr/local/octave-3.8.0/sbin:${PATH}
Run Code Online (Sandbox Code Playgroud)

现在我可以在 python 中成功导入 oct2py 模块。但是,当尝试使用以下方法对其进行初始化时:

oc = oct2py.Oct2Py()
Run Code Online (Sandbox Code Playgroud)

我收到与以前相同的错误消息。我还需要在 PATH 中添加什么来告诉 python 如何实际运行 Octave?也许还有另一个我不知道的问题?

编辑:看来最初的“import oct2py”仍然无法识别路径,但是如果我第二次运行该行,它不会再次引发相同的错误消息。所以大概我已经添加的 PATH 行实际上并没有做任何事情。

python macos path octave oct2py

5
推荐指数
1
解决办法
3504
查看次数

Oct2Py只返回第一个输出参数

我正在使用Oct2Py在我的Python代码中使用一些M文件.假设我有这个简单的Matlab函数:

function [a, b] = toto(c);
    a = c;
    b = c + 1;
end
Run Code Online (Sandbox Code Playgroud)

如果我在Octave中调用它会发生什么:

>> [x,y] = toto(3)
x = 3
y = 4
Run Code Online (Sandbox Code Playgroud)

现在如果我用Python调用它,使用oct2py:

from oct2py import octave
my_dir = "D:\\My_Dir"
octave.addpath(my_dir)
a,b = octave.toto(3)
Run Code Online (Sandbox Code Playgroud)

返回:

TypeError:'int'对象不可迭代

似乎octave.toto(n)只返回第一个值,当我期待两个......有人可以向我解释我应该做什么吗?谢谢

python matlab octave oct2py

5
推荐指数
1
解决办法
646
查看次数

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

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

from oct2py import octave
Run Code Online (Sandbox Code Playgroud)

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

当我执行这个时,我得到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. 都不工作。

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

这里有什么想法吗?

python octave oct2py

5
推荐指数
1
解决办法
6199
查看次数

oct2py - 使用python中的线程调用八度函数

我试图使用两个线程从python程序调用Octave函数.我的八度代码只是为了看它是如何工作的 -

testOctave.m

function y = testOctave(i)
    y = i;
end
Run Code Online (Sandbox Code Playgroud)

而python程序只是试图调用它

from oct2py import octave
import thread
def func(threadName,i) :
    print "hello",threadName   // This printf works
    y = octave.testOctave(i)
    print y   // This is ignored
    print 'done'   // This is ignored
    print 'exiting'    // This is ignored

try:
    thread.start_new_thread( func, ("Thread-1", 100 ) )
    thread.start_new_thread( func, ("Thread-2", 150 ) )
except:
    print "Error: unable to start thread"
Run Code Online (Sandbox Code Playgroud)

程序退出时不会出现任何错误,但在上面的函数中,只执行第一次打印,两个线程都会忽略八度调用之后的所有打印.是否有这种情况发生的原因,我该怎么做才能使它发挥作用?

该程序没有做任何特别的事情,我只想弄清楚如何使用oct2py

python multithreading octave oct2py

3
推荐指数
1
解决办法
2121
查看次数

标签 统计

oct2py ×5

octave ×5

python ×5

macos ×1

matlab ×1

multithreading ×1

path ×1