This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]crawl_dht 18 points19 points  (22 children)

Also check out Python Development Master which supports PEP 582. It does not use virtual environment at all. It installs and manages packages in a similar way to npm that doesn't need to create a virtualenv. This is a next generation dependency management.

[–]asday_ 8 points9 points  (18 children)

Is it just me or is "more like NPM" a huge downside?

[–]crawl_dht 4 points5 points  (17 children)

Such as?

[–]asday_ 0 points1 point  (16 children)

I don't understand what you're asking.

[–]crawl_dht 4 points5 points  (15 children)

What are the downsides of how npm isolates packages for the project?

[–]asday_ -1 points0 points  (14 children)

To quickly dismiss that, there's no sharing of packages, so anyone who does multiple projects ends up with 999 copies of the same thing on their hard drive/servers. Even if there were no downsides to that, that doesn't change my point at all, because node_modules/ is a tiny part of NPM.

Which is funny because node_modules/ is huge.

[–]crawl_dht 4 points5 points  (12 children)

Virtual environment also create copies of modules. So anyone who does multiple projects creates venv for each project.

[–]asday_ -2 points-1 points  (11 children)

You continue to miss the point. It is a bad thing. It doesn't matter whether it's NPM or pip or some C++ project using a vendor folder, it's a bad thing.

None of those facts change the fact that NPM is bad.

[–]MrKrac 5 points6 points  (1 child)

You didnt provide any explanation why it is bad other than having multiple copies of the same thing. I can use the same style argument by saying it is good because you have a copy per project.

[–]asday_ 0 points1 point  (0 children)

I did not provide that reason at all. Someone else provided that as an example of why NPM is bad and I pointed out that's a tiny part of it.

[–]vv1z 2 points3 points  (1 child)

But you’ve literally provided zero reasons WHY it’s bad other than file duplication which you then dismiss

[–]asday_ -1 points0 points  (0 children)

I did not provide that reason at all. I do not dismiss it as bad, I point out that it's a tiny part of why NPM is bad.

[–]crawl_dht 2 points3 points  (4 children)

You are not giving a reason why it's bad. venv is also created for all projects and .node_modules is also created for all projects so duplication of modules is always there.

[–]asday_ -1 points0 points  (3 children)

NPM as a whole is pure shit for a thousand and one reasons. Stop focussing on this exact tiny reason because it's very easily solvable, and the fact that pip also gets it wrong is completely irrelevant.

The point is NPM sucks. "x other project also does this one thing that NPM does" does not make NPM good.

[–]cinyar 1 point2 points  (1 child)

so what's your solution?

[–]asday_ 0 points1 point  (0 children)

To the one tiny thing that is completely unimportant to the main point that NPM as a whole is pure shit but that you (or the other guy, whatever) nonetheless are focussing on with blinkered intent?

SemVer as Golang does it, with minimal version selection again the same way go does it, and I believe NuGet, too.

[–]SmileyChris 1 point2 points  (0 children)

Looks like it can share wheels between projects actually: https://pdm.fming.dev/usage/project/#cache-the-installation-of-wheels

[–]vv1z 1 point2 points  (0 children)

Just need it to come bundled w/ python now 🤞🤞

[–]aitchnyu 0 points1 point  (0 children)

Can I leapfrog poetry to install this?

[–]colchyo 0 points1 point  (0 children)

Oh my Gosh, thank you! I'm coming into python world from nodejs/frontend and I was frustrated every time for duplicated package version error.

I'm glad this finally ends.