[Distutils] [Python-Dev] At least one package management tool for 2.7

Darren Dale dsdale24 at gmail.com
Wed Mar 24 14:15:37 CET 2010


Hi Carl,

2010/3/24 Carl Meyer <carl at dirtcircle.com>:
> Darren Dale wrote:
> [snip]
>> Thanks for responding, but I'm still wondering if pip can install
>> dependencies recursively.
>
> Yes, it can and does. As Tarek said, pip uses the same install_requires
> metadata

I saw that part...

> and it treats it the same way as easy_install, including
> recursive install of dependencies.

and perhaps this was implied. Thanks for the clarification.

> This is mostly orthogonal to the requirements-file feature you
> mentioned, which is a way to freeze a specific known "working set" of
> package versions for a particular purpose. IMO requirements files are
> most useful (in terms of avoiding unexpected breakage) when they freeze
> the entire set of dependencies, but even when installing from a
> requirements file, pip will automatically (and recursively) pursue any
> needed install_requires dependencies that are not present in the
> requirements file.

Right, I am somewhat familiar with requirements files. I guess I have
not been keeping up closely enough with pip development recently. Last
I checked, pip supported dependencies via requirements files (which
are good for setting up applications in isolated environments) but not
recursively and not without a requirements file like easy_install does
(which is good for libraries, and for setting up general-use
environments like ~/.local/lib/python/site-packages). I think
requirements files may not be quite as useful in the numerical and
scientific community as they are in yours. So I am happy to hear that
pip supports both mechanisms.

One last question: will pip support package extras? The Enthought Tool
Suite (for example) makes extensive use of these, and there are many
projects in our community that build on ETS. A while back there was
some discussion of dropping this feature in pip, which could make it
difficult for some projects to embrace distribute/pip.

Thanks,
Darren


More information about the Distutils-SIG mailing list