我想在python中安装oct2py。我正在使用Windows 8.1
我使用了命令easy_install oct2py,我用标准的exe文件安装了octave。 现在根据installation guide,我应该添加八度音程。
setx PATH "%PATH%;<path-to-octave-bin-dir>
我不明白这个命令。我试图将octave.exe文件的路径添加到环境变量中。
但是当我尝试导入oct2py时出现错误。
>>> import oct2py
Please install GNU Octave and put it in your path
>>>
有谁能请详细解释我如何设置路径? 我应该在终端上运行的命令示例非常有用。 感谢
编辑: 我试过了
setx PATH "%PATH%;C:\Software\Octave-3.6.4\bin"
但我收到一条奇怪的消息:
WARNINGS: The data being saved is truncated to 1024 characters
SUCCESS: Specified value was saved
答案 0 :(得分:2)
我并不熟悉Octave,但似乎我已经帮助解决了这个问题。对于可能在将来偶然发现这个问题的其他人来说,这是导致解决方案的过程:
鉴于错误Please install GNU Octave and put it in your path
,我搜索了源代码并从_utils.py中找到了这个:
try:
cmd = 'octave -q --braindead'
session = subprocess.Popen(cmd, shell=True,
stderr=subprocess.STDOUT,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
preexec_fn=os.setsid)
except OSError:
octave_path = glob('c:/Octave/*/bin/octave.exe')[0]
if not os.path.exists(octave_path):
msg = ('Please install Octave at "c:/Octave" '
' or put it in your path:\n'
'setx PATH "%PATH%;<path-to-octave-bin-dir>"')
raise Oct2PyError(msg)
else:
cmd = 'octave -q --braindead'
session = subprocess.Popen(cmd, shell=True,
stderr=subprocess.STDOUT,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
preexec_fn=os.setsid)
except OSError:
raise Oct2PyError('Please put the Octave executable in your PATH')
return session
因此,当尝试使用命令octave -q --braindead
时失败
接下来我问OP是否在命令行上正确运行命令,以便隔离问题。运行它,OP学会了:MSYS shell available C:\Software\Octave-3.6.4\msys
在路径中包含 是解决方案
路径不应该只是
C:\Software\Octave-[version]\bin
而是
C:\Software\Octave-[version]\msys