5 ms·
What's wrong with pipenv? I've been meaning to try it
by vaughnegut 8y ago
What's wrong with pipenv? I've been meaning to try it
- rtpg 8y agoI tried using it for a heroku app since it was recommended in the Python setup (I used a plain requirements.txt in other projects) For me, it broke very often, would take forever to recalculate stuff, and would simply get in the way _way_ too much. I get the logic of the system but in practice pip + requirements.txt basically works for my use cases.
- meddlepal 8y agoSo I've been using it a bunch on my more recent Python projects. The promise and the reality are unfortunately not close. For the record I love having a one stop tool for virtualenvs and dependency management. That's quite nice. The Pipfile is nice. The Pipfile.lock is awesome. The tool itself is: 1. Painfully slow. 2. Very buggy. For example `pipenv graph --json` is broken in the latest release. This is the mechanism that other tools use to hook into pipenv. It's actually been broken in various ways since May. It's also incompatible in subtle ways with the latest pip. So I had to downgrade to pip 10.x. I've had some frustrating experiences lately now that the honeymoon is over. I'm going to keep using it, but I really hope some serious improvement is made in the next 6 to 12 months around performance and stability.
- paultopia 8y agoYeah, the speed thing with lockfiles is painful. But python dependency management is such a mess anyway that it's probably the best thing out there.
- ForHackernews 8y agoConsider https://github.com/sdispater/poetry https://github.com/sdispater/poetry as an alternative.
- Bogdanp 8y agoAnother good one is pip-tools: https://github.com/jazzband/pip-tools https://github.com/jazzband/pip-tools (which pipenv set out to replace initially, but it does a terrible job of it IMO)
- mcintyre1994 8y agoThis looks really nice! That dependency example makes relying on pipenv seem kinda scary, and I really like how it replaces the setup.py too.
- mcthrowaway123 8y agoHere's some sources. This bug in 2017 is characteristic "Pipenv Halloween easter egg" [0]. Pipenv has caused lots of unneeded drama in the Python community[1] - just search for past Pipenv posts. Most of the criticism comes from software developers, and I suspect Pipenv fans are hobbyists (like fuck me for choosing Python in production, right?) I doubt Go's tooling accepts this strange behavior from the maintainers[2]. Kenneth Rietz is NOT a core Python developer. So for my opinion, we have Pipenv instead of Requests support for async/futures, HTTP2.0, Websockets, or better encoding. But the documentation gets updates I see: "Requests is the only Non-GMO... organic, grass-fed HTTP/1.1 requests"[3]. This emojifuck for humans has no drive, so Go has better HTTP packages now. Python's packaging has gotten political. I hate politics. I won't help new programmers with Pipenv, and I don't care if that's good or bad. At least Poetry _respects_ PEPs with it's well-defined specification. But I'm not gonna fight a losing battle. Maybe Pipenv gets ironed out one day. Hell, maybe Java replaces Maven. But I grow weary of immature repo maintainers. I just need working code; yet I feel this answers to nobody. [0] https://github.com/pypa/pipenv/issues/786 https://github.com/pypa/pipenv/issues/786 [1] https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-lot-delivers-very-little/ https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-l... [2] https://github.com/pypa/pipenv/commit/fe78628903948013e8687d1a3be9fd4da2b6bd3d https://github.com/pypa/pipenv/commit/fe78628903948013e8687d... [3] http://docs.python-requests.org/en/master/ http://docs.python-requests.org/en/master/
- androidgirl 8y agoI tried it, and honestly it's fine for most cases, but it's pretty slow compared to just plain virtualenv. Considering virtualenv is prefectly fine I eventually switched back.
- hroman 8y agoJust try it, but also try the other alternatives and form your own opinion.
- austinpray 8y agoThe fact that it couples dependency management to virtualenv management is really unfortunate for people that use docker. Can’t wait for pipfiles and such to be native to pip.