Live data from Hacker News

Pipenv: promises a lot, delivers very little

chriswarrick.com

1–10 of 229 posts

Re: Pipenv: promises a lot, delivers very little

#2
I was sorely disappointed with pipenv, and transitioned to poetry [1], with which I’ve been very satisfied. There is also some commentary in the README on the design decisions re: pipenv [3]. Contrary to the author's perspective on poetry using poetry-specific sections of pyproject.toml, that's actually the proper implementation (and expected usage) coming out of PEP-518.

I also am a big fan of pyenv [3] but that’s of course to manage Python versions (not environments)

[1] https://github.com/sdispater/poetry

[2] https://github.com/sdispater/poetry#what-about-pipenv

[3] https://github.com/pyenv/pyenv

Re: Pipenv: promises a lot, delivers very little

#4
Pipenv is a really interesting development for Python, and I'm glad that someone was working to improve dependency locking for Python.

However, Kenneth abused his position with PyPA (and quickly bumped a what is a beta product to version 18) to imply Pipenv was more stable, more supported and more official than it really was.

And worse still, for anyone saying "but ts open source, you get what you pay for", Kenneth as former Python Overlord at Heroku, encouraged Heroku to place Pipenv above Pip as the default Python package manager in the Python buildpack. This decision impacted paying customers and the Python buildpack used a broken version of Pipenv for a long time. So long, most people I know just went back to Pip.

Then, lastly, when people complained he had a tizzy at reddit and twitter and got PyPA to help backtrack and say "no we didn't support it, nope, its just a thing that happened", all while the main Pipenv Github repository was held under the PyPA GitHub Org.

Re: Pipenv: promises a lot, delivers very little

#6
Our organization uses four primary languages (Ruby, Python, JS and Elixir). The package management situation for Python is by far the weakest.

We’ve been using Pipenv, but it is atrociously slow and flawed at dependency resolution. An alternative is extremely welcome, E.g. Poetry which was mentioned above.

Re: Pipenv: promises a lot, delivers very little

#7
post #2

I was sorely disappointed with pipenv, and transitioned to poetry [1], with which I’ve been very satisfied. There is also some commentary in the README on the design decisions re: pipenv [3]. Contrary to the author's perspective on poetry using poetry-specific sections of pyproject.toml, that's actually the proper implementation (and expected usage) coming out of PEP-518. I also am a big fan of pyenv [3] but that’s o…

I ran into a lot of bugs with poetry when I first moved to it (mostly with git dependencies) but they seem to have been fixed promptly, except that dependency resolution with git dependencies is still super slow.

An important thing for me is that you can disable the virtualenv management and manage it yourself (poetry makes it hard to install different python versions so I'd rather do that myself). Overall it works really well and I'd highly recommend it for general python dev.

Re: Pipenv: promises a lot, delivers very little

#9
I've used virtualenv, pipenv, pyenv, venv, etc.

What the hell is the difference? All that I have used have worked pretty much exactly the same as the others. All work just fine. I've never had a problem. I just use virtualenv since it's the oldest. I see no more reason to switch or try other options as long as it continues to deliver.

Re: Pipenv: promises a lot, delivers very little

#10
I just feel this article inside my bones. The headline is 100% accurate.

What bugs me is we have some excellent examples of good patterns… in the JS community. Pipenv promised to be Yarn and ended up way off target :/

More context from my previous post:

https://news.ycombinator.com/item?id=18247788

Post reply on HN