Hi,

FYI, my concerned are addressed by what Stefano wrote about the full
desc, though I still feel like I need to reply to you.

On 2/12/21 2:08 PM, Julien Palard wrote:
> Hi,
> 
> As far as I understand, the divergence between "Python upstream" and 
> Debian is:
> 
> - It looks like Debian target users consuming software, users just 
> install a package and it works, no venv needed obviously, it always just 
> work, it's fantastic. Users may not even care if the program is written 
> in Python or not at this point.
> 
> - Upstream Python is obviously composed by people writing in Python and 
> know many people who write some Python too: all in need of venv to work.
> 
>> Also, it's a disservice to push our users into the direction of using
>> venv which is very ugly way to use Python in a Debian system
> I do agree, we could even replace Python with software in this sentence.
> 
> And I don't think we're pushing our users to always install things in 
> venvs. Providing venv is not a big signal for Debian users to ask them 
> to use it to install packages (if a signal at all).
> 
> With my "I do write things in Python that may run on non-Debian systems" 
> hat, and "I teach Python" (most of them not using Debian) hat, a venv is 
> helping me in many many ways, it's literally part of my daily routine:
> 
> - It allows me to pin a set of dependencies and sub-dependencies to an 
> exact version (I do use pip-compile, from pip-tools), per project, that 
> I can use in automatic tests (ensuring if tests passes today, they'll 
> pass tomorrow), I can share this set with coworkers and future me ("if 
> it works for me, it works for you"), note my coworkers may not use 
> Debian at all.
> 
> - It allows me to easily replace a dependency with a modified one to 
> test it, or make anyone else test it (for example [1]).
> 
> - It allows me to work on my Debian testing laptop on code aimed to work 
> on Debian stable, or a completly different OS.
> 
> - It allows me to work on various projects with a different set of 
> incompatible dependencies.

Wouldn't it be nicer if all of the dependencies you're talking about
were all playing well together? You're happy with venv and pip because
they address the huge problem that your dependencies are constantly
breaking the world. This needs to stop. Promoting venv and pip isn't
helping toward this goal, and that's what I was trying to say to begin with.

> I still think venv is a very usefull tool

It is. Because it addresses (badly) the brokenness of your dependencies,
as I wrote above.

> P.S.: If you still feel I'm completly wrong to use venv and pip in my
> workflow, I'll be very happy to learn better ways.

You are not. Though in an ideal world, you'd be only describing the list
of dependency you need, and the tooling would either fetch the Debian
package (if available) or through PyPi, and it would always work,
without ever needing to care about versions (here, from your side, with
pinning and version bounds), and without ever needing to isolate things
in a venv/chroot.

Cheers,

Thomas Goirand (zigo)

Reply via email to