Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux oct2py无法从脚本工作(ubuntu)_Linux_Python 3.x_Octave_Oct2py - Fatal编程技术网

Linux oct2py无法从脚本工作(ubuntu)

Linux oct2py无法从脚本工作(ubuntu),linux,python-3.x,octave,oct2py,Linux,Python 3.x,Octave,Oct2py,我已经安装了oct2py,可以在shell交互python3模式下导入倍频程 lukas@lukas-VirtualBox:~$ python3 Python 3.5.2 (default, Sep 14 2017, 22:51:06) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from oct2py impo

我已经安装了oct2py,可以在shell交互python3模式下导入倍频程

lukas@lukas-VirtualBox:~$ python3
Python 3.5.2 (default, Sep 14 2017, 22:51:06) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from oct2py import octave
>>> octave.exp(1*2)
7.38905609893065
>>> 
但我无法在python3脚本中导入八度音阶

#!/usr/bin/env python3

import oct2py
from oct2py import octave
第一行(导入oct2py)没有错误。第二行产生错误:

 File "/home/lukas/detection/octave/oct2py.py", line 4, in <module>
    from oct2py import octave
ImportError: cannot import name 'octave'
没有结果它不能在脚本中导入八度,只是在交互模式下


我使用Ubuntu16.04.3 LTS、Octave 4.0.0、Python3、Scipy 0.17.0

您是否设置了此处所述的Octave_可执行环境变量?是否为python设置了shell别名,从而创建了该别名?请告诉我如何设置OCTAVE_可执行文件和别名。我找到了有关alias的主题,但我不确定该怎么办。您可以通过在linux控制台中键入
alias
来查看设置了哪些别名。看看是否有一个用于python的。您可以在运行python脚本的同一个会话中,以与对
PATH
相同的方式设置
OCTAVE\u EXECUTABLE
环境变量,例如
export OCTAVE\u EXECUTABLE=/my/OCTAVE/installation/folder/bin
,它应该是这样的:alias python3='python3,导出OCTAVE_EXECUTABLE=/usr/bin/OCTAVE'或者我完全误解了你?是的。别担心。从脚本中调用python解释器可能会调用稍有不同的东西,因为在脚本中禁用别名。我认为您的.bashrc文件中可能有python的别名,但您似乎没有。您确定导出的路径正确吗?在我看来这是不对的。根据安装位置的不同,我希望有类似于
/usr/local/octave/bin
/opt/octave/bin
的内容。尝试以下操作:
导入操作系统;从交互式python3终端和脚本打印(os.environ)
。它们的输出是否完全相同?您是否设置了此处所述的OCTAVE_可执行环境变量?是否为python设置了shell别名,从而创建了该别名?请告诉我如何设置OCTAVE_可执行文件和别名。我找到了有关alias的主题,但我不确定该怎么办。您可以通过在linux控制台中键入
alias
来查看设置了哪些别名。看看是否有一个用于python的。您可以在运行python脚本的同一个会话中,以与对
PATH
相同的方式设置
OCTAVE\u EXECUTABLE
环境变量,例如
export OCTAVE\u EXECUTABLE=/my/OCTAVE/installation/folder/bin
,它应该是这样的:alias python3='python3,导出OCTAVE_EXECUTABLE=/usr/bin/OCTAVE'或者我完全误解了你?是的。别担心。从脚本中调用python解释器可能会调用稍有不同的东西,因为在脚本中禁用别名。我认为您的.bashrc文件中可能有python的别名,但您似乎没有。您确定导出的路径正确吗?在我看来这是不对的。根据安装位置的不同,我希望有类似于
/usr/local/octave/bin
/opt/octave/bin
的内容。尝试以下操作:
导入操作系统;从交互式python3终端和脚本打印(os.environ)
。它们的输出是否完全相同?
export PATH=/usr/bin/octave:$PATH