Ubuntu 12.10 上的 Sikuli-IDE

Ubuntu 12.10 上的 Sikuli-IDE

我安装了 sikuli-ide

sudo apt-get install sikuli-ide

一切都很好,直到我尝试从终端启动它。我输入

sikuli-ide

但我得到的唯一回应是

[info] locale: en_US

应用程序未启动,此外没有桌面文件,并且 sikuli-ide 未出现在 Dash Home 中。

我猜这个软件包有问题。我运行的是 Ubuntu 12.10 64 位。

我尝试从他们的现在 IDE 启动了,但是当我尝试执行一个简单的脚本时出现以下错误:

[error] Stopped
[error] An error occurs at line 1
[error] Error message:
Traceback (most recent call last):
File "", line 1, in 
File "/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/__init__.py", line 3, in 
File "/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Sikuli.py", line 22, in 
java.lang.UnsatisfiedLinkError: /home/ayckoster/opt/Sikuli-IDE/libs/libVisionProxy.so: libml.so.2.1: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1935)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1860)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)
at java.lang.Runtime.load0(Runtime.java:792)
at java.lang.System.load(System.java:1059)
at com.wapmx.nativeutils.jniloader.NativeLoader.loadLibrary(NativeLoader.java:44)
at org.sikuli.script.Finder.(Finder.java:33)
at java.lang.Class.forName0(Native Method)
at java.lang.

Class.forName(Class.java:264)
at org.python.core.Py.loadAndInitClass(Py.java:895)
at org.python.core.Py.findClassInternal(Py.java:830)
at org.python.core.Py.findClassEx(Py.java:881)
at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:133)
at org.python.core.packagecache.PackageManager.findClass(PackageManager.java:28)
at org.python.core.packagecache.SysPackageManager.findClass(SysPackageManager.java:122)
at org.python.core.PyJavaPackage.__findattr_ex__(PyJavaPackage.java:137)
at org.python.core.PyObject.__findattr__(PyObject.java:863)
at org.python.core.imp.import_name(imp.java:849)
at org.python.core.imp.importName(imp.java:884)
at org.python.core.ImportFunction.__call__(__builtin__.java:1220)
at org.python.core.PyObject.__call__(PyObject.java:357)
at org.python.core.__builtin__.__import__(__builtin__.java:1173)
at org.python.core.imp.importFromAs(imp.java:978)
at org.python.core.imp.importFrom(imp.java:954)
at sikuli.Sikuli$py.f$0(/home/ayckoster/opt/Sikuli-IDE/siku

li-script.jar/Lib/sikuli/Sikuli.py:211)
at sikuli.Sikuli$py.call_function(/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/Sikuli.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.imp.createFromCode(imp.java:386)
at org.python.core.util.importer.importer_load_module(importer.java:109)
at org.python.modules.zipimport.zipimporter.zipimporter_load_module(zipimporter.java:161)
at org.python.modules.zipimport.zipimporter$zipimporter_load_module_exposer.__call__(Unknown Source)
at org.python.core.PyBuiltinMethodNarrow.__call__(PyBuiltinMethodNarrow.java:47)
at org.python.core.imp.loadFromLoader(imp.java:513)
at org.python.core.imp.find_module(imp.java:467)
at org.python.core.PyModule.impAttr(PyModule.java:100)
at org.python.core.imp.import_next(imp.java:715)
at org.python.core.imp.import_name(imp.java:824)
at org.python.core.imp.importName(imp.java:884)
at org.python.core.ImportFunction.__call__(__builtin__.java:1220)


at org.python.core.PyObject.__call__(PyObject.java:357)
at org.python.core.__builtin__.__import__(__builtin__.java:1173)
at org.python.core.imp.importAll(imp.java:998)
at sikuli$py.f$0(/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/__init__.py:3)
at sikuli$py.call_function(/home/ayckoster/opt/Sikuli-IDE/sikuli-script.jar/Lib/sikuli/__init__.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.imp.createFromCode(imp.java:386)
at org.python.core.util.importer.importer_load_module(importer.java:109)
at org.python.modules.zipimport.zipimporter.zipimporter_load_module(zipimporter.java:161)
at org.python.modules.zipimport.zipimporter$zipimporter_load_module_exposer.__call__(Unknown Source)
at org.python.core.PyBuiltinMethodNarrow.__call__(PyBuiltinMethodNarrow.java:47)
at org.python.core.imp.loadFromLoader(imp.java:513)
at org.python.core.imp.find_module(imp.java:467)
at org.python.core.imp.import_next(imp.java:713)
at or

g.python.core.imp.import_name(imp.java:824)
at org.python.core.imp.importName(imp.java:884)
at org.python.core.ImportFunction.__call__(__builtin__.java:1220)
at org.python.core.PyObject.__call__(PyObject.java:357)
at org.python.core.__builtin__.__import__(__builtin__.java:1173)
at org.python.core.imp.importAll(imp.java:998)
at org.python.pycode._pyx2.f$0(:1)
at org.python.pycode._pyx2.call_function()
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1261)
at org.python.core.Py.exec(Py.java:1305)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:206)
at org.sikuli.script.ScriptRunner.runPython(ScriptRunner.java:61)
at org.sikuli.ide.SikuliIDE$ButtonRun.runPython(SikuliIDE.java:1572)
at org.sikuli.ide.SikuliIDE$ButtonRun$1.run(SikuliIDE.java:1677)

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /home/ayckoster/opt/Sikuli-IDE/libs/libVisionProxy.so: libml.so.2.1: 

cannot open shared object file: No such file or directory

如果我尝试使用 GUI 中的 click() 方法,则会失败。因此我创建了自己的 click 方法,它如下所示:

在此处输入图片描述

这无法执行并会产生上述错误。

答案1

我也遇到过这种情况。看来这个包有问题(可能是缺少依赖项?)。

我的建议(对我有用)是卸载它并使用其提供的版本网页。您只需提取文件夹并将其放置在您想要的位置。您会在里面找到一个sikuli-ide.sh可用于启动它的文件。

之后,您可以根据需要为其创建一个启动器(例如 Eclipse这里)。

编辑

我忘了说了:正如他们的网页上所说,Sikuli 需要 OpenCV 2.1。不幸的是,12.10 只提供 OpenCV 2.3/2.4,对我来说不起作用。解决这个问题最简单的方法是安装 Oneiric 的 OpenCV 2.1 包。您将需要 3 个包:

下载后(在每个链接上选择一个镜像),使用软件中心按顺序(首先是 libhighgui)安装它们(只需双击每个包)。

另一种方法是下载 OpenCV 2.1 并手动构建。我从来没有这样做过,所以我不能告诉你它有多难。

答案2

Ubuntu 12.10 上的 Sikuli-IDE

(全新安装完成,2013 年 1 月 3 日下午 6 点(美国东部时间))

Sikuli 的要求:SUN java 6、openCV 2.1

Oracle Sun Java 6:

  1. 添加包源。

    sudo add-apt-repository ppa:webupd8team/java
    
  2. 安装 oracle-java6。

    sudo apt-get update && sudo apt-get install oracle-java6-installer
    

OpenCV 2.1:

  1. 以上安装的是 sikuli 所需的 sun java 6

    sudo nano /etc/apt/sources.list
    
  2. 然后将以下行添加到上述文件中

    deb http://ubuntu.mirror.cambrium.nl/ubuntu/ oneiric main universe
    

    Ctrl+然后X按。YEnter

  3. 更新软件包存储库并安装它。

    sudo apt-get update && sudo apt-get install libhighgui2.1 libcvaux2.1 libcv2.1
    

现在来说 sikuli:

从此处下载http://www.sikuli.org/download.html。解压到主目录,cd 进入文件夹并运行sikuli.ide.sh,始终从该 .sh 脚本运行它,一切正常。

一切似乎都正常,包括点击、OCR、python 语法、截图……等等

答案3

Ubuntu 12.10 上的 OpenCV 2.1

  • 添加 Ubuntu 11.10 源。

$ sudo vi /etc/apt/sources.list

......

德布http://ubuntu.mirror.cambrium.nl/ubuntu/梦幻主宇宙

  • 更新 repo。

$ sudo apt-get 更新

  • 安装 OpenCV 2.1 库。

$ sudo apt-get 安装 libhighgui2.1 libcvaux2.1 libcv2.1

我已修补它。

答案4

Debian 7.0 amd64 上的 sikuli-ide

安装。

$ sudo aptitude install sikuli-ide

信息。

$ aptitude show sikuli-ide
Package: sikuli-ide                      
New: yes
State: installed
Automatically installed: no
Version: 1.0~x~rc3.tesseract3-dfsg1-5
Priority: extra
Section: java
Maintainer: Debian Java maintainers <[email protected]>
Architecture: all
Uncompressed Size: 553 k
Depends: libcommons-cli-java, libjson-simple-java, libjxgrabkey-java, libmac-widgets-java, default-jre (>= 1:1.6) | java6-runtime, libsikuli-script-java,
         junit, libswingx-java, libswing-layout-java
Description: IDE to develop sikuli scripts and use them a junit test cases
......

跑步。

$ sikuli-ide 
[info] locale: en_US

相关内容