-
Notifications
You must be signed in to change notification settings - Fork 292
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
Python 3.8 compatibility broken #773
Comments
@okahilak, @paulojamorim, @rmatsuda and @vhosouza we need to choose the minimum python version we are support. Is it necessary to be 3.8? Can we use a newer version? I'm using 3.11 and 3.12. |
Hi @tfmoraes I am using Ubuntu 20.04 with Python 3.8. The problem is that wxPython and VTK from pip are causing issues on my system when rendering a wxVTKRenderWindow. This is happening with both Python 3.8 and 3.12 (manually installed on Ubuntu 20.04). This is the error after InVesalius closes.
|
Hi @tfmoraes Regarding this topic, I believe this Status of Python versions table might be helpful in choosing the minimum version to support. I want to also mention that 3.8 is the current stable version with about 5 months remaining where 3.7 has reached its 'end of life' about 7 months ago. Regarding typing, A lot of features are present in the later versions after 3.8 so if I had to choose I would probably pick 3.9 or 3.10. |
@paulojamorim can you try a more recent Ubuntu version like 24.04 (it's LTS)? Also, you can try to force the use of Zink OpenGL driver (it's a OpenGL implemented above Vulkan, it'll use the Vulkan from your driver, it's very fast). Try this:
|
@omar-abdelgawad I think 3.10 is a good minimum. |
We are using InVesalius with ROS2, which only officially supports Python 3.8 (see https://docs.ros.org/en/iron/Installation/Windows-Install-Binary.html). I don't know if more recent Python versions work or not - it could be tested, but I have very limited time to look into it at the moment. |
Oh, we also use MATLAB's ROS toolbox, which has some features that specifically demand a Python version 3.8 -- it gives an error if trying to use it with later versions. The bottom line is that the Python community is notoriously slow at adopting new versions (even after end-of-life of a particular version), and there are probably many users who need to work with Python software and libraries that may not support newer versions. Dropping Python 3.8 support would mean that those users would then need to manage multiple different Python versions, which is always a hassle. For those reasons, I wouldn't drop Python 3.8 support unless there are significant benefits to it. Maybe a longer transition period, during which we could investigate how to transition to newer Python versions in our project, would be appropriate? |
Python 3.8 final support is in october 2024. We can try to update the minimum version later. Thanks @okahilak. |
Thanks for the comment, @tfmoraes - I wouldn't close this issue, though, as the main branch does not currently work with Python 3.8, causing ongoing trouble in our project until the support for Python 3.8 is brought back. |
With my last commit isn’t it working with python 3.8?
|
Hmm, I think you refer to this commit, pushed directly to the master:
I didn't notice it as it didn't go through the usual pull request-merge workflow. I'm re-closing the issue, as that change indeed seems to fix it. In general, it would be more transparent and easier to track and follow changes if all the changes went through the usual workflow - even if the author of the change merged it themselves. In any case, thanks for fixing it! |
@okahilak that commit not fixed all problems with python 3.8. I submitted a new commit that fixed the problem. |
After #768 was merged, Python 3.8 compatibility seems to be broked. When starting InVesalius using Python 3.8, it gives the error:
For Python versions older than 3.9, the type hint for tuple would need to be separately imported before it can be used:
The text was updated successfully, but these errors were encountered: