News for hackers. Stuff that matters.
Re:If this project is dead, just tell us by hultner on Friday December 13, 2019 @09:17AM (#21781710)
As someone who's been in software development for two the better part of two decades now I would say that's far beyond the truth.

Yes it's not great right now and it's not completely clear if I should recommend a new user pip+venv, pipenv, pyenv, poetry or conda and that's a big problem, Python was actually quite early to handle dependencies and packaging in a standardized and structured way. I remember that most of the projects I worked on early on in my career more or less completely relied on vendoring dependencies, if packaging systems existed they were of either very complex or the one that came with your os/distro.

However Python currently needs to catch up, we need some alignment and a clear path forward, it would also be great to have an official way of building artefacts. There's plenty of ways today but no great blessed way to recommend a newcomer.

Re:If this project is dead, just tell us by cure on Friday December 13, 2019 @09:50AM (#21782033)
> As someone who's been in software development for two the better part of two decades now I would say that's far beyond the truth.

As someone who has had to deal with Python's packaging a lot, I would say that it's really, really bad. Maybe not the worst in the world, but it is much closer to the worst than to the best.

There are 15 ways to package Python modules, none of which are feature complete (but a lot of them pretend to be). Every year or so someone decides that they need to write another packaging tool for Python, and then they give up before it is feature complete.

A tool like virtualenv is useful, but it overpromises and underdelivers (this is the overarching theme of Python packaging imo): it does not completely separate your environment from the system. E.g. virtualenv still uses the host system python packages cache, and it does something rather nasty with .so's that get copied from the host system...

And don't get me started on dependency management in Python. When the dependencies of your dependencies make breaking interface changes, you're in for a world of pain.

I find it amusing, in a sad way, that the language that prides itself on "there is one way to do it" screwed up so badly in the packaging department by not having one good way to do it. Meanwhile the language whose motto is "there is more than one way to do it" has a standard, sane way to package things, with multiple tools that work together in a coherent way. Perl got this one right.

Re:If this project is dead, just tell us by chipotle_coyote on Friday December 13, 2019 @04:57PM (#21785941)
> Meanwhile the language whose motto is "there is more than one way to do it" has a standard, sane way to package things, with multiple tools that work together in a coherent way. Perl got this one right.

I was always impressed by CPAN compared to most other package managers I've used. And, yeah, between Python, Perl, Node, Ruby, and even PHP, Python is by far the most inscrutable and the most prone to giving me fits when existing Python apps like Lektor just... inexplicably break after one of the Homebrew versions of Python gets updated.

Re:If this project is dead, just tell us by BlueTemplar on Friday December 13, 2019 @04:01PM (#21785425)
Oh, glad that I wasn't the only one appalled at how this breaks Python "rules" !
Re:If this project is dead, just tell us by reledi on Friday December 13, 2019 @09:42AM (#21781956)
To add to the confusion, there’s also setuptools, easy_install, wheels, eggs, ...
Re:If this project is dead, just tell us by f00_ on Friday December 13, 2019 @12:13PM (#21783375)
I mainly use virtualenv and would recommend that to people until they have this problem trying to use matplotlib on osx: https://matplotlib.org/3.1.0/faq/osx_framework.html

osx includes a "non-framework" build of python making it hard to use matplotlib

Actually just now finding out about "venv" in the standard library introduced in python 3.3

Re:If this project is dead, just tell us by oblio on Friday December 13, 2019 @10:32AM (#21782422)
Maven basically solved Java's dependency problems back in 2005.
Re:If this project is dead, just tell us by zer00eyz on Friday December 13, 2019 @01:31PM (#21784061)
Serious question: Isn't maven the reason that you can't really package Hadoop? It is my (high level) understanding that it is at the core of (or a big part of) why Hadoop is so hard to build on your own vs VM.
Re:If this project is dead, just tell us by oblio on Monday December 16, 2019 @05:01AM (#21801995)
Hadoop is hard to package because build scripts are treated as second hand citizens for most projects. There's a high standard of code reviews for many projects, but for the build scripts it's "it works, merge it".

I've built quite big projects with Maven (>2 million LOC) without issues.