4 ms·
LXC + eggs + setuptools + something, I guess? As a current member of the `pip freeze > reqs.txt' brigade, I'd be interested in seeing a more detailed look at h
by shabble 13y ago
LXC + eggs + setuptools + something, I guess?
As a current member of the `pip freeze > reqs.txt' brigade, I'd be interested in seeing a more detailed look at how to do it "right"/better.
- tostitos1979 13y agoVirtualenv + PIP are far more portable than LXC.
- dissent 13y agoThey aren't portable at all :)
- tostitos1979 13y agoWhat definition of portable are you using? My definition is that developers on Windows, Mac OS and Linux can work with the same python dependencies. Are you dissenting with this?
- doki_pen 13y agoJust create a setup.py and put your deps in there.
- slinkp 13y agoIdeally, setup.py is for generic minimum-version-known-to-work dependencies of a package. Pip requirements files are for very specific known-good combinations of dependencies of an application. https://caremad.io/blog/setup-vs-requirement/ https://caremad.io/blog/setup-vs-requirement/
- doki_pen 13y agoIt's an anti-pattern to not pin versions in libs. setup.py is a contract. Every version listed as a dependency should have been tested, otherwise the package will bitrot. It should be safe to pin major versions, if you can trust upstream packages to follow best practices with version numbers and you aren't using any "undocumented" features of the lib. Ideally, your packages are tested and built into binary packages before they are deployed to production systems. If you are following that best practice, then your risk of a patch breaking your system are minimized.
- dissent 13y agoI consider that nonsense. If there was truth in this, other platforms besides python would need something similar.