3 ms·
What would a python pip replacement look like?
Having branched out from the world of Python in recent years, I've seen some interesting package managers for other languages and of course operating systems. I've got some hang ups with pip and setuptools that I imagine could be resolved with an extensible approach. For example, I imagine scoped package support (see NPM), transparent versioning (aka deterministic installs, or a better pip-tools), automatic project dependency management (again, NPM), parallel installation (yarn)...
So what would a re-think of pip look like?
- vforgione 9y agoTwine[0] is the tool I've been using for PyPI archive management and Pipenv[1] is looking promising as the next iteration of pip. Twine makes the packaging process _slightly_ easier, although setuptools is still a bit of a pain. Pipenv handles a lot of project cruft for you: setting up a virtualenv, distinguishing dev and prod packages, locking them down and deterministic building. [0]: https://github.com/pypa/twine https://github.com/pypa/twine [1]: https://github.com/kennethreitz/pipenv https://github.com/kennethreitz/pipenv
- dfee 9y agoOh man, how have I not known about pipenv? This addresses a huge amount of my complaints with pip. Thanks for sharing!
- vforgione 9y agoThe downside to pipenv is that there aren't any good docker images to work with it. I've tried a few times, but I've never given enough time to learning the guts of Docker to make anything stable enough to run with it.
- dfee 9y agoThat shouldn't be too much of a problem. I'll have to port an image over later to use pipenv, so I'll share a gist to a minimal Dockerfile.
- mjhea0 9y agohave you tried https://github.com/VaultVulp/pipenv-alpine/blob/master/Dockerfile https://github.com/VaultVulp/pipenv-alpine/blob/master/Docke...?
- vforgione 9y agoI did, but something about Alpine rubs me the wrong way. I know it's probably irrational, but my gut always goes to Debian. I really can't justify it. Maybe I should give it a better chance.
- dfee 9y agoHere's my Dockerfile: https://gist.github.com/dfee/388c3f270fdfc4f31aba906770f93137 https://gist.github.com/dfee/388c3f270fdfc4f31aba906770f9313...
- vforgione 9y agoVery cool. I'll have to give it a whirl. I haven't taken a stab at a custom image in a while. Thanks!