Page MenuHomeSolus

Provide python interpreters for 3.6, 3.7, and 3.8
Open, Needs More InfoPublic

Description

Solus is currently on python 3.9, so the only interpreter version available is 3.9. However, a lot of developers need to work on projects that need other versions of python interpreter.

I am wondering if we can provide python interpreters of version 3.6, 3.7, and 3.8. I understand that Solus usually only provides a single version of a piece of software. I am requesting here only the interpreter itself. We don't need to ship associated python packages for these python versions. This is extremely useful for python developers. They can use a given version of python interpreter to create virtual environments for their projects that requires a specific version of python. Or they can use it easily with other tools such as poetry to manage the dependencies.

Event Timeline

xulongwu4 updated the task description. (Show Details)

Hi @xulongwu4

I've working with Solus at work and I've compiled Python 3.6 for local use.

The venv is set up to use the self-compiled version and it works fine.

Regards,

Maik

@maikwoehl, I guess you justified my point that developers need other versions of python interpreters. I believe adding them to the Solus repo saves a lot of developers' time to compile python locally.

I think it would introduce a major maintenance problem as the maintainer of the solus repository have to ensure that new package, that build against the several python3 version would be updated accordingly. So the repository have to provide compatible packages for the several python versions, as the version support varys from python package to python package.

That would (worst case) duplicate all dependencies from current python versions for every legacy python version. And an inconsistent stack of dependencies for the various python versions would be horrible, in my opinion.

xulongwu4 added a comment.EditedSep 14 2021, 6:32 PM

@maikwoehl, my suggestion is to only provide a bare-bone python interpreter for versions 3.6 to 3.8. No other python 3.6-3.8 packages need to be maintained in the Solus repo. The benefit of providing such a interpreter is to let developers easily create virtual environments or use poetry with the python version of their own choice. As far as I know, fedora also provides multiple python interpreters from 3.6 to 3.9, while only provides other python packages for python 3.9. The maintainer of Solus do not to worry about whether the python packages in the Solus repo are compatible with multiple python versions.

If you're developing with Python you should REALLY be using a tool like pyenv for managing the Python version of your build environment, along with a venv of your dependencies. You shouldn't be using the system Python or packages at all.

I'm a big 👎 on this for that reason.

xulongwu4 added a comment.EditedOct 11 2021, 7:36 PM

@ReillyBrogan, I understand using pyenv is one solution. I suppose if solus provides the python interpreter for python 3.6-3.8, it will work equally well, and it saves us the effort to install pyenv and manage all its python installations. I am not asking solus to provide system packages for python version 3.6-3.8. It will just be a barebone interpreter for me to install virtual environment with. I am also not proposing to use system python packages for project development.

I guess I will point out that some other distributions already provide these barebone interpreters of earlier python versions for developers to use.

Anyway, this is just a proposal. If it doesn't go through, I am fine with compiling python interpreter locally or using pyenv.

DataDrake triaged this task as Needs More Info priority.Oct 15 2021, 1:21 PM
DataDrake added a subscriber: DataDrake.

I think at the moment, I'm a bigger fan of relying on pyenv since it keeps everything self-contained. I'd like to see more of a discussion on the advantages of Solus-built interpreters to normal development processes before making a decision.