【问题标题】:How to add add ons to Orange3如何将附加组件添加到 Orange3
【发布时间】:2015-01-22 06:58:32
【问题描述】:

我正在使用 pandas 进行一些数据分析。我公司的其他人希望以类似的方式处理数据,但不想使用编程语言来完成。经过大量的谷歌搜索,我发现了 Orange,它具有完美的界面,可以满足我希望人们做的事情。但是,小部件不执行我们正在查看的任务类型。所以,我决定看看我是否可以为 Orange 编写自己的小部件来完成任务。

我正在尝试使用 Orange3;当我使用 WinPython 时,这似乎是最好的选择。我必须说,通过文档创建小部件(用于 Orange2)和 Orange3 小部件的代码令人印象深刻 - 编写得非常好并且易​​于使用来实现我想要做的事情。

在编写了几个小部件之后,如何将它们放入 Orange3?小部件创建教程适用于 Orange2(在 Python 2.7 中),我还没有让它适用于 Orange3。

我的项目目前相当小:

dir/
  orangepandas/
    __init__.py
    owPandasFile.py
    pandasQtTable.py
  setup.py

setup.py 当前包含以下内容:

from setuptools import setup

setup(name='orangepandas',
      version='0.1',
      packages=['orangepandas'],
      entry_points={'Orange.widgets': 'orangepandas = orangepandas'}
      )

当我在此运行 python setup.py install 然后尝试打开 Orange3 画布时,我在其新组中看不到闪亮的新小部件。

【问题讨论】:

    标签: pandas orange


    【解决方案1】:

    在了解 Orange3 如何导入外部库之后,Orange 似乎依赖于实际存在的小部件文件,而不是位于 egg(压缩)文件中。添加

    zip_safe=False
    

    设置选项允许 Orange3 正确导入小部件。 Orange3 在 canvas/registry/discovery.py 中使用 cache_can_ignore 中的 os.path.exists 来检测路径是否存在,如果不存在,则不会尝试导入它。使用 zip_safe=False 可确保插件保持未压缩状态,以便可以访问各个文件。

    (对于下一个尝试做我正在做的事情的人。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      相关资源
      最近更新 更多