Live data from Hacker News

Python: Please stop screwing over Linux distros

drewdevault.com

151–160 of 384 posts

Re: Python: Please stop screwing over Linux distros

#151
post #33

Python libraries shipped by distributions are so old that this mechanism is mostly useless for python development. This also applies to many others programming languages which have their own packaging systems. While python packaging is indeed messy the needs of traditional linux distributions are by far the least important. Python packaging needs to better serve the needs of python developers, not those of sysadmins.…

> Python packaging needs to better serve the needs of python developers, not those of sysadmins.

Use Fedora, or Arch, or another developer-oriented distro.

Re: Python: Please stop screwing over Linux distros

#153
post #86

Nixos/Nix solves all python packaging problems.

Nix solves a lot of Python packaging problems and I'm a happy user. But you lose some of the convenience of plain pip. For example, with Nix, it's no longer easy to mix and match versions of different packages. You just get the package versions that happen to live in the snapshot of nixpkgs you're using. If I want to use an older version of a package than the one in nixpkgs, I now have to add an override for that package and pray that changing the version/hash is enough.

Re: Python: Please stop screwing over Linux distros

#154

Distros, please stop screwing over Python packaging. It is incredible that Debian/Ubuntu pick Python apart and put modules into different packages. They even create a fake venv command that tells you to please install python-venv. What they should just do is offer a bunch of packages like python3.7, python3.8 that install the official python package wholesale into /usr/python or someplace and then symlink one of them…

> I would have one package manager that installs everything into a global package cache, and then pick the correct version of libraries at run time

Essentially what Bundler has done for Ruby since pretty much forever.

I would love to see this pattern elsewhere.

Re: Python: Please stop screwing over Linux distros

#155

Distros, please stop screwing over Python packaging. It is incredible that Debian/Ubuntu pick Python apart and put modules into different packages. They even create a fake venv command that tells you to please install python-venv. What they should just do is offer a bunch of packages like python3.7, python3.8 that install the official python package wholesale into /usr/python or someplace and then symlink one of them…

> They even create a fake venv command that tells you to please install python-venv.

???

$ apt-file search /usr/bin/venv | wc -l 0

I do agree with you however that python3.9 should be moved into libpython3.9-stdlib, and hence be available to all installations.

Re: Python: Please stop screwing over Linux distros

#156
post #134

Earlier quoted context omitted.

> Perhaps the distributions would be more inclined to include up-to-date version if the standard in the python community was not to break everything all the time. Yep... Perl is a godsend... take a code from 20 years ago, run it on a modern system, and everything works. Python? Three different software versions need three different versions of the same library, and new library versions are not backwards compatible wi…

> Perl is a godsend... take a code from 20 years ago, run it on a modern system, and everything works. That's more or less like "take a VB6 binary from 20 years ago, run it on some modern Windows, and everything works" - that's just because the ecosystem is effectively dead, so supporting it on new releases just means carrying over some stuff that worked 20 years ago.

Your comment is not updated for 20 minutes, so it's effectively dead. Please, write a new one.

Re: Python: Please stop screwing over Linux distros

#157

Distros, please stop screwing over Python packaging. It is incredible that Debian/Ubuntu pick Python apart and put modules into different packages. They even create a fake venv command that tells you to please install python-venv. What they should just do is offer a bunch of packages like python3.7, python3.8 that install the official python package wholesale into /usr/python or someplace and then symlink one of them…

They could have a separate environment for "system" python which excludes pip and is deliberately obscure (i.e. not /usr/bin/python).

Re: Python: Please stop screwing over Linux distros

#158

It seems a bit weird to criticise lots of people for trying to solve the dependency problem. I know lots of people hold up npm as the standard. Npm came out around 10 years ago, Node around 12. Both of which had the benefit of hindsight at how the problem had developed for other languages. Python came out 30 years ago and pip came out 20 years later. Of course there is a lot of stuff left behind. What do people sugge…

Npm is absolute hell.

One thing that people do like about JavaScript is that you can import multiple versions of the same package. This solves that depA requires 1.0 and depB requires 2.0.

However this makes auditing nearly impossible. Small projects can end up with well over a thousand dependencies that is just unmanageable.

Re: Python: Please stop screwing over Linux distros

#159
> Every one of these package managers is designed for a reckless world in which programmers chuck packages wholesale into ~/.pip, set up virtualenvs and pin their dependencies to 10 versions and 6 vulnerabilities ago, and ship their computers directly into production in Docker containers which aim to do the minimum amount necessary to make their user’s private data as insecure as possible.

That's pretty sobering look at the state of affairs.

Re: Python: Please stop screwing over Linux distros

#160
post #156
post #134

Earlier quoted context omitted.

> Perl is a godsend... take a code from 20 years ago, run it on a modern system, and everything works. That's more or less like "take a VB6 binary from 20 years ago, run it on some modern Windows, and everything works" - that's just because the ecosystem is effectively dead, so supporting it on new releases just means carrying over some stuff that worked 20 years ago.

Your comment is not updated for 20 minutes, so it's effectively dead. Please, write a new one.

In 20 years when we'll all be using brainfuck, my comment will indeed be effectively dead.
Post reply on HN