我有一些与Sikulix一起运行的Python(实际上是jython
)脚本。
我之前使用的是1.1.1版,并且正在使用命令行(在完成设置之后):
java -Dsikuli.Debug=-2 -cp sikulix.jar org.python.util.jython main.py
对于1.1.4版本,没有更多设置,并且已从sikulix.jar和sikulixapi.jar中删除了jython
。 Jython在另一个jar文件中(jython-standalone-2.7.1.jar)。
我尝试使用以下命令行运行
java -Dsikuli.Debug=-2 -cp "sikulix.jar;jython-standalone-2.7.1.jar" org.python.util.jython main.py
但是我收到以下错误
Traceback (most recent call last):
File "test.py", line 3, in <module>
from sikuli.Sikuli import *
ImportError: No module named sikuli
文档未完全更新如何执行。他们提到jython
,jip
和其他东西的安装,但没有设法工作。
有什么想法怎么做?
谢谢
== == PS:
执行以下操作后,它几乎可以工作:
jython
CLASSPATH
设置为sikulixapi.jar的绝对路径jython main.py
我收到以下错误:
[error] RunTimeINIT: *** terminating: Java arch not 64 Bit or not detected (java 8-32 version 1.8 vm 25.121-b13 class 52.0 arch null)
我已经使用32位Java安装了Jython,看起来需要64位Java。
我可能会再次使用64位Java JDK。
在脚本的开头添加以下行
import org.sikuli.script.SikulixForJython
这将有助于在Java类中查找sikuli
模块。
然后,您可以使用前面提到的命令行运行:
java -cp "sikulixapi.jar;jython-standalone-2.7.1.jar" org.python.util.jython main.py
Python脚本示例(main.py):
import org.sikuli.script.SikulixForJython
from sikuli.Sikuli import *
notepad = App('notepad.exe')
notepad.open()
sleep(1)
type("It is working!")
notepad.close()