【问题标题】:Unable to import modules in Orange python environment but Orange GUI works无法在 Orange python 环境中导入模块,但 Orange GUI 可以工作
【发布时间】:2016-05-06 22:23:36
【问题描述】:

我想在 python 脚本中使用 Orange.associateOrange.data.sql 模块,但在这两种情况下我都会在 import Orange 之后得到 AttributeError。

但是,在 Orange GUI 中,两个小部件都按预期工作。

当我使用sys.path 检查 python 路径时,python 解释器可以访问 Orange 库、全局 dist 包和本地站点包。

我正在运行 ubuntu 14.04,并按照此处的说明将 Orange 3.3 安装到 /opt 目录中: http://orange.biolab.si/download/linux/

我对 python 环境非常不熟悉,而且对 Linux 也很陌生,所以任何提示都非常感谢。

这是我所做的一个例子:

(orange3env)bdukai@balazs-dukai:/opt/orange$ python
Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import Orange
>>> Orange.data.sql
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'sql'
>>> Orange.data.Table
<class 'Orange.data.table.Table'>

【问题讨论】:

  • 您按照哪些说明安装 Orange?如果这是 Orange 3,则关联小部件来自 orangecontrib.associate.widgets,而不是 Orange.associate。使用python -m Orange.canvas -l 4 运行 GUI,以详细打印正在发生的事情。
  • 我使用的是 Orange 3.3.3。我按照 Orange 网站上的说明进行操作。我的目标是在 python 脚本中使用该库,而不是从 GUI 中。请参阅我编辑的问题。

标签: orange


【解决方案1】:

python 中的导入不会自动导入子模块(子包)。如果要使用Orange.data.sql,直接导入即可:

>>> import Orange.data.sql
>>> Orange.data.sql
<module 'Orange.data.sql' from '.../Orange/data/sql/__init__.py'>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 2015-02-09
    • 1970-01-01
    相关资源
    最近更新 更多