Support for Python 3? --- SikuliX uses Jython 2.7 - no version 3 in near future

Asked by Wesley-Yu on 2018-12-10

As we all know, the Python 2x will stop updating. More testers use python as a test language. Thank you very much

Question information

Language:
English Edit question
Status:
Solved
For:
Sikuli Edit question
Assignee:
No assignee Edit question
Solved by:
RaiMan
Solved:
2018-12-11
Last query:
2018-12-11
Last reply:
2018-12-10
RaiMan (raimund-hocke) said : #1

SikuliX scripts use the Python language only (at level 2.7), and internally the Java based Jython interpreter is used (current version 2.7.1).

Modules available for the C-based Python interpreter might be working with SikuliX, if they are working with Python 2.7 and are written completely in Python language (no C-based stuff nor dependent on native libraries).

--- about the future

- on the official Jython page they do not even talk about language level 3 (nor about the latest build 2.7.1 (available on MavenCentral)) http://www.jython.org/index.html

- there is some community activity on Jython 3 on GitHub with the last real activity from mid 2017 (https://github.com/jython/jython3/issues/36)

conclusion:
- There is a good chance that Jython 2.7 will get critical things fixed, even after update support for Python 2.7 is stopped.
- For the basic scripting challenges with SikuliX the Jython 2.7 is sufficient. If you need more complex solutions, that need features only available in Python 3, you have to find a solution (Python-Java bridge, client-server or subprocess solutions, ...)

Wesley-Yu (yp1234567yu) said : #2

The problem I am currently experiencing is that python 2.7 can use sikulixapi.jar

Wesley-Yu (yp1234567yu) said : #3

But i want to use it in python 3.7

Best RaiMan (raimund-hocke) said : #4

--- python 2.7 can use sikulixapi.jar
not true: it is Jytho !! see comment #1

--- But i want to use it in python 3.7
not possible out of the box !! see comment #1

Again: Python together with SikuliX means LANGUAGE and not INTERPRETER

Mike (maestro+++) said : #5

You could have a look at Lackey. This aims to emulate SikuliX. With just a brief glance I couldn't see which versions of Python it supports, but you could be... lucky with Lackey :)

Wesley-Yu (yp1234567yu) said : #6

Thanks RaiMan, that solved my question.

Wesley-Yu (yp1234567yu) said : #7

Thanks Mike very much