3 ms·
OK, the concept of "abstract dependencies" makes sense, but boy is it a complicated way to fix an edge case. How many times have you had to swap out a concrete
by m0th87 13y ago
OK, the concept of "abstract dependencies" makes sense, but boy is it a complicated way to fix an edge case. How many times have you had to swap out a concrete dependency vs how many times have you bashed your head against the wall about the proper way to setup a python library? I know my experience skews heavily toward the latter.
I wish python had an equivalent to npm. npm does a lot of things right: local packages by default, recursive dependency resolution, a simple declarative package specification (package.json), and the ability to run your own private npm registry. And it wraps up the logic of a bunch of tools: virtualenv + pip + (distutils / setuptools / distribute / distutils2).
- d23 13y ago> how many times have you bashed your head against the wall about the proper way to setup a python library Hmm, almost never actually. The only example I can think of is PIL. I usually have to manually edit the installer to get libjpeg and zlib and fooimagelib to install properly. Other than that, pip seems to have all the magic I crave.
- m0th87 13y agoWhat about creating a new library? It's been a giant PITA for me, especially figuring out which of the 4 major distribution tools to use.
- viraptor 13y agoThe latest one. There was only the brief period when setuptools/disttools were confusing as far as I remember. Now, you can just use d2to1 and the new distribute config format.
- lmm 13y agoSo what's it called? "distribute"?
- donaldstufft 13y agoYou should be using setuptools now. There's distutils which was the original one and is part of the standard library, setuptools which extends distutils and adds some very useful things like dependencies, then distribute split off from setuptools because of a number of reasons. Just recently distribute merged back into mainline setuptools and the distribute project is now done and it's maintainers have taken over setuptools. In the middle there was also distutils2/packaging which were attempts at replacing the entire thing but have since been abandoned for a number of reasons such as trying to replace the entire toolchain at once.
- carlio 13y agoUse Pillow instead, then it works seamlessly with pip: https://pypi.python.org/pypi/Pillow/2.1.0 https://pypi.python.org/pypi/Pillow/2.1.0 (assuming you have the relevant libjpeg-dev etc already installed)