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

PySide6 no longer supports Python 3.8 #780

Closed
apyrgio opened this issue Apr 17, 2024 · 3 comments
Closed

PySide6 no longer supports Python 3.8 #780

apyrgio opened this issue Apr 17, 2024 · 3 comments
Assignees
Labels
dependencies Pull requests that update a dependency file development Development-focused changes
Milestone

Comments

@apyrgio
Copy link
Contributor

apyrgio commented Apr 17, 2024

It has come to our attention that the latest PySide6 release (6.7.0) has dropped support for Python 3.8. Dangerzone still supports this Python version, since it is still used by Ubuntu Focal.

In practice, this doesn't make a difference to our actual Ubuntu Focal users, since they use PySide2. However, this causes a problem for Windows and macOS users. The Python >= 3.8 restriction means that PySide6 is pinned to 6.6.3.1, instead of moving forward to 6.7.0. Since Windows/macOS users get PySide6 from PyPI, in the event of a PySide6 security issue, we will not be able to update it right away.

For reference, these are the EOL dates for Python 3.8 and Ubuntu Focal respectively:

@apyrgio apyrgio added development Development-focused changes dependencies Pull requests that update a dependency file labels Apr 17, 2024
@apyrgio apyrgio added this to the 0.7.0 milestone Apr 17, 2024
@naglis
Copy link
Contributor

naglis commented Apr 18, 2024

I saw #618 which mentions that Ubuntu Focal has support for Python 3.9. Would that be an option?

@apyrgio
Copy link
Contributor Author

apyrgio commented Apr 18, 2024

Oh, very good observation! Yes, I think we could set the minimum Python3 version in our build instructions to >= 3.9 (currently set to 3.6 ‼️) . This way, the newer Python3 package will be downloaded. For pyproject.toml, we can similarly bump our lowest supported Python version to 3.9, and maybe add a little note in our BUILD.md file.

There's a minor catch here: what happens if there's an application in the user's Ubuntu Focal system that is not compatible with Python 3.9. In that case, there will be a package conflict. That's probably something we should check with apt-cache rdepends [python3|python3.9].

almet added a commit that referenced this issue May 24, 2024
Pyside6 6.7.1 dropped support for python 3.8, see #780.
almet added a commit that referenced this issue May 27, 2024
Pyside6 6.7.1 dropped support for python 3.8, see #780.
almet added a commit that referenced this issue May 28, 2024
The minimum python version when installing from source is now python
3.9, as Pyside6 6.7.1 dropped support for python 3.8 (see #780 for more
information).

On Debian-derivatives distributions, the minimum Python version is now
set to 3.8. In practice, because Pyside6 is not packaged for Debian, we
use Pyside2 [0], which is why we can relax the python version requirement.

In practice, when installing from source on an environment where
python3.9 is not the default python, poetry will look for it and use it
if available

> For various reasons, this Python version might not be compatible with
> the python range supported by the project. In this case, Poetry will
> try to find one that is and use it.
>
> [Poetry docs](https://python-poetry.org/docs/managing-environments/)

On Ubuntu Focal (20.04) where Python 3.9 is not installed by default,
it is possible to install it using the `python3.9` package.

[0] More information on how Pyside6 packaging affects dangerzone on #221
[1] See [the current status of Pyside6 packaging](https://repology.org/
project/python:pyside6/packages)
almet added a commit that referenced this issue Jun 4, 2024
The minimum python version when installing from source is now python
3.9, as Pyside6 6.7.1 dropped support for python 3.8 (see #780 for more
information).

On Debian-derivatives distributions, the minimum Python version is now
set to 3.8. In practice, because Pyside6 is not packaged for Debian, we
use Pyside2 [0], which is why we can relax the python version requirement.

In practice, when installing from source on an environment where
python3.9 is not the default python, poetry will look for it and use it
if available

> For various reasons, this Python version might not be compatible with
> the python range supported by the project. In this case, Poetry will
> try to find one that is and use it.
>
> [Poetry docs](https://python-poetry.org/docs/managing-environments/)

On Ubuntu Focal (20.04) where Python 3.9 is not installed by default,
it is possible to install it using the `python3.9` package.

[0] More information on how Pyside6 packaging affects dangerzone on #221
[1] See [the current status of Pyside6 packaging](https://repology.org/
project/python:pyside6/packages)
almet added a commit that referenced this issue Jun 4, 2024
The minimum python version when installing from source is now python
3.9, as Pyside6 6.7.1 dropped support for python 3.8 (see #780 for more
information).

On Debian-derivatives distributions, the minimum Python version is now
set to 3.8. In practice, because Pyside6 is not packaged for Debian, we
use Pyside2 [0], which is why we can relax the python version requirement.

In practice, when installing from source on an environment where
python3.9 is not the default python, poetry will look for it and use it
if available

> For various reasons, this Python version might not be compatible with
> the python range supported by the project. In this case, Poetry will
> try to find one that is and use it.
>
> [Poetry docs](https://python-poetry.org/docs/managing-environments/)

On Ubuntu Focal (20.04) where Python 3.9 is not installed by default,
it is possible to install it using the `python3.9` package.

Additionally, In version 1.24.3, PyMuPDF changed its package name from `fitz`
to `pymupdf` [2], resulting in a breakage on how it is installed in our
container. This is now fixed.

[0] More information on how Pyside6 packaging affects dangerzone on #221
[1] See [the current status of Pyside6 packaging](https://repology.org/
project/python:pyside6/packages)
[2] PyMuPDF changelog: https://pymupdf.readthedocs.io/en/latest/changes.html#change-log
almet added a commit that referenced this issue Jun 4, 2024
The minimum python version when installing from source is now python
3.9, as Pyside6 6.7.1 dropped support for python 3.8 (see #780 for more
information).

On Debian-derivatives distributions, the minimum Python version is now
set to 3.8. In practice, because Pyside6 is not packaged for Debian, we
use Pyside2 [0], which is why we can relax the python version requirement.

In practice, when installing from source on an environment where
python3.9 is not the default python, poetry will look for it and use it
if available

> For various reasons, this Python version might not be compatible with
> the python range supported by the project. In this case, Poetry will
> try to find one that is and use it.
>
> [Poetry docs](https://python-poetry.org/docs/managing-environments/)

On Ubuntu Focal (20.04) where Python 3.9 is not installed by default,
it is possible to install it using the `python3.9` package.

Additionally, In version 1.24.3, PyMuPDF changed its package name from `fitz`
to `pymupdf` [2], resulting in a breakage on how it is installed in our
container. This is now fixed.

[0] More information on how Pyside6 packaging affects dangerzone on #221
[1] See [the current status of Pyside6 packaging](https://repology.org/
project/python:pyside6/packages)
[2] PyMuPDF changelog: https://pymupdf.readthedocs.io/en/latest/changes.html#change-log
@apyrgio
Copy link
Contributor Author

apyrgio commented Jun 6, 2024

This issue has been resolved by the following PRs:

@apyrgio apyrgio closed this as completed Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file development Development-focused changes
Projects
None yet
Development

No branches or pull requests

3 participants