Sujet : venvs vs. package management (was: Terminal Emulator (Posting On Python-List Prohibited))
De : hjp-python (at) *nospam* hjp.at (Peter J. Holzer)
Groupes : comp.lang.pythonDate : 19. May 2024, 07:49:06
Autres entêtes
Message-ID : <mailman.24.1716101350.2909.python-list@python.org>
References : 1 2 3 4 5 6 7 8 9 10
Pièces jointes : signature.asc (application/pgp-signature) On 2024-05-18 20:12:33 +0200, Piergiorgio Sartor via Python-list wrote:
On 18/05/2024 20.04, Mats Wichmann wrote:
So venvs make managing all that pretty convenient. Dunno why everybody's
so down on venvs...
Only people which are *not* using python... :-)
In my experience, venvs is the only possible
way to use python properly.
That's very much depends on what you mean by properly.
Personally, I use venvs a lot. But most of the reasons have more to do
with team culture than technical constraints. In a different situation
(e.g. if all our developers used Linux and preferrably the same version)
I could see myself using venvs much less or maybe not at all.
The dependency nightmare created by python, pip and all the rest
cannot be resolved otherwise.
That's what package management on Linux is for. Sure, it means that you
won't have the newest version of anything and some packages not at all,
but you don't have to care about dependencies. Or updates.
(Missing packages can be a problem: Is there a script to automatically
generate .deb packages from PyPI? I haven't looked recently ...)
It seems backward compatibility is a taboo...
I have recently written a script which checks out the newest version of
the project, creates a fresh venv using a requirements.txt without
version numbers and runs the test suite. If there is any action required
(either because a test fails or because there is a newer version of any
dependent package) it will create a ticket in redmine. Oh, and this
script runs on a staging server which has the same Linux distribution
(and hence the same Python version) as the production server.
Seems to work, but that is only necessary because we are using venvs. If
we relied on the distro's package management that would basically be a
non-issue.
hp
-- _ | Peter J. Holzer | Story must make more sense than reality.|_|_) | || | | hjp@hjp.at | -- Charles Stross, "Creative writing__/ | http://www.hjp.at/ | challenge!"