Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ubuntu 3.11 test #1017

Closed
wants to merge 8 commits into from
Closed

add ubuntu 3.11 test #1017

wants to merge 8 commits into from

Conversation

homosapien-lcy
Copy link
Contributor

With the latest python come out, we want to test whether enable can work under python 3.11. Since 3.11 is still not available in EDM, we setup a pypi test. closes issue #1016

@dpinte
Copy link
Member

dpinte commented Mar 23, 2023

@homosapien-lcy This looks ok but a duplicate of the already existing worklfow https://github.com/enthought/enable/blob/main/.github/workflows/bleeding-edge.yml . I suggest you just update the existing one in order to not duplicate the work.

Copy link
Member

@dpinte dpinte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate work that should be integrated in the existing bleeding-edge workflow

@homosapien-lcy
Copy link
Contributor Author

homosapien-lcy commented Mar 24, 2023

testing procedure:
1 env setup:
python3.11 -m venv --clear ~/.venvs/p311 && source ~/.venvs/p311/bin/activate
2 clone
git clone [email protected]:enthought/enable.git
3 install dependencies
py3.11:
pip install numpy
pip install scipy
pip install traitsui
pip install pyparsing
pip install reportlab
pip install chaco
pip install pyglet
pip install pygarrayimage
pip install pyside6
py3.8 in edm:
edm environments create test_edm_py38 --version 3.8
edm shell -e test_edm_py38
edm install scipy, numpy, traitsui, pyparsing, chaco, pyside6
python3.8 -m pip install pyglet
python3.8 -m pip install reportlab
python3.8 -m pip install pygarrayimage
4 install package
python3.11 -m pip install -e .

test results:
enable/enable/examples:
_example_application: SUCCESS (no error output)
_example_canvas: SUCCESS (no error output)
_example_support: SUCCESS (no error output)

enable/enable/examples/demo/savage:
button_demo: ImportError: Unable to import a Savage backend for the null toolkit.
buttons_on_canvas: NotImplementedError: the 'null' toolkit does not implement this method
static_image: ImportError: Unable to import a Savage backend for the null toolkit.
toggle_demo: ImportError: Unable to import a Savage backend for the null toolkit.

enable/enable/examples/demo/enable:
gradient_demo: NotImplementedError: the 'null' toolkit does not implement this method
label_test: NotImplementedError: the 'null' toolkit does not implement this method
zoomed_event_demo: NotImplementedError: the 'null' toolkit does not implement this method
brush_draw: NotImplementedError: the 'null' toolkit does not implement this method
filled_container_demo: NotImplementedError: the 'null' toolkit does not implement this method
image_draw: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
basic_draw: NotImplementedError: the 'null' toolkit does not implement this method
basic_move: NotImplementedError: the 'null' toolkit does not implement this method
text_field_demo: NotImplementedError: the 'null' toolkit does not implement this method
text_grid_demo: NotImplementedError: the 'null' toolkit does not implement this method
sierpinski_zoom: NotImplementedError: the 'null' toolkit does not implement this method
scrolled_canvas_demo: NotImplementedError: the 'null' toolkit does not implement this method
compass_example: NotImplementedError: the 'null' toolkit does not implement this method
component_demo: NotImplementedError: the 'null' toolkit does not implement this method
scrollbar_demo: NotImplementedError: the 'null' toolkit does not implement this method
hidpi_component: NotImplementedError: the 'null' toolkit does not implement this method
primitives_demo: NotImplementedError: the 'null' toolkit does not implement this method
latency_demo: NotImplementedError: the 'null' toolkit does not implement this method
stacked_container_demo: NotImplementedError: the 'null' toolkit does not implement this method
constraints_demo: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
slider_example: NotImplementedError: the 'null' toolkit does not implement this method
container_demo: ModuleNotFoundError: No module named 'chaco'
view_bounds_test: NotImplementedError: the 'null' toolkit does not implement this method
resize_tool_demo: NotImplementedError: the 'null' toolkit does not implement this method
canvas_demo: NotImplementedError: the 'null' toolkit does not implement this method
scrolled_demo: NotImplementedError: the 'null' toolkit does not implement this method

kiva/examples/kiva/:
kiva_explorer: NotImplementedError: the 'null' toolkit does not implement this method
ui_text: NotImplementedError: the 'null' toolkit does not implement this method
sub_path: SUCCESS
pdf_arcs: ModuleNotFoundError: No module named 'reportlab'
simple: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
dummy: SUCCESS
star: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
dash: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
qt4_simple: RuntimeError: No pyface.toolkits plugin could be loaded for qt4
pyglet_gl: ModuleNotFoundError: No module named 'pyglet'
ellipse: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
compiled_path: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
star1: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
simple2: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
star_path: SUCCESS
simple_clip: SUCCESS
ui_gradient: NotImplementedError: the 'null' toolkit does not implement this method
gradient: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
rect: ImportError: cannot import name 'ConstraintsContainer' from 'enable.api' (/Users/cyliu/enable/enable/api.py)
image_explorer: NotImplementedError: the 'null' toolkit does not implement this method

@homosapien-lcy
Copy link
Contributor Author

Duplicate work that should be integrated in the existing bleeding-edge workflow

OK, add these to the bleeding edge

@homosapien-lcy
Copy link
Contributor Author

homosapien-lcy commented Mar 24, 2023

I think in both enable and chaco, the NotImplementedError is causing error in many examples, I'm not sure this is specific to 3.11. Investigating

@dpinte
Copy link
Member

dpinte commented Mar 24, 2023

@homosapien-lcy I've started a manual run of the CI: https://github.com/enthought/enable/actions/runs/4509498241

@dpinte
Copy link
Member

dpinte commented Mar 24, 2023

@homosapien-lcy as you'll see in the logs, this will require a litte bit of digging to make it work:

ERROR: Ignored the following versions that require a different python version: 6.0.0 Requires-Python >=3.6, <3.10; 6.0.0a1.dev1606911628 Requires-Python >=3.6, <3.10; 6.0.1 Requires-Python >=3.6, <3.10; 6.0.2 Requires-Python >=3.6, <3.10; 6.0.3 Requires-Python >=3.6, <3.10; 6.0.4 Requires-Python >=3.6, <3.10; 6.1.0 Requires-Python >=3.6, <3.10; 6.1.1 Requires-Python >=3.6, <3.10; 6.1.2 Requires-Python >=3.6, <3.10; 6.1.3 Requires-Python >=3.6, <3.10; 6.2.0 Requires-Python >=3.6, <3.11; 6.2.1 Requires-Python >=3.6, <3.11; 6.2.2 Requires-Python >=3.6, <3.11; 6.2.2.1 Requires-Python >=3.6, <3.11; 6.2.3 Requires-Python >=3.6, <3.11; 6.2.4 Requires-Python >=3.6, <3.11; 6.3.0 Requires-Python <3.11,>=3.6; 6.3.1 Requires-Python <3.11,>=3.6; 6.3.2 Requires-Python <3.11,>=3.6; 6.4.0 Requires-Python <3.11,>=3.6
ERROR: Could not find a version that satisfies the requirement pyside6<6.4.0; python_version >= "3.8" and extra == "pyside6" (from traitsui[pyside6]) (from versions: 6.4.0.1, 6.4.1, 6.4.2, 6.4.3)
ERROR: No matching distribution found for pyside6<6.4.0; python_version >= "3.8" and extra == "pyside6"

@homosapien-lcy
Copy link
Contributor Author

https://github.com/enthought/enable/actions/runs/4509498241

Yeah, I think pyface 6.3.0 or older is not compatible with version 3.11

@homosapien-lcy
Copy link
Contributor Author

Copy link
Contributor

@corranwebster corranwebster left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

But fails - needs to remove PySide2 (which is OK to do)

@corranwebster
Copy link
Contributor

Closing in favour of #1042

@jwiggins jwiggins deleted the add_py311_test branch May 10, 2023 07:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants