[Distutils] Towards a bandersnatch release - updates, PIP, contacting mirror owners

Christian Theune ct at gocept.com
Mon Apr 8 17:09:45 CEST 2013


Hi,

On 2013-04-08 01:09:44 +0000, Trishank Karthik Kuppusamy said:

> On Sun 07 Apr 2013 04:01:07 PM EDT, holger krekel wrote:
>> interpreted correctly.  Also, uploading a 1.0 release to pypi
>> would allow to say "pip install bandersnatch" instead of getting
>> the hg repo and the setup.py install command.
> 
> I agree, a PyPI package would make it easy for pip users.

I think I made a mistake (by omission) when phrasing my question, 
sorry, let me try to clarify: I'm not asking whether I should upload a 
pip/distribute/easy_install/buildout-compatible package (sdist) to 
PyPI. That's the easy part.

As I have not used pip seriously before, I'm wondering how people 
document service setups for pip users that are repeatable, i.e. where 
all dependency versions will be fixed.

I think the verdict on fixing versions in setup.py was passed a few 
years ago (correctly), so I think pip uses requirements.txt files for 
this.

How do you guide pip users to install a service (not a library) this way?

AFAICT a changed installation instruction would look like this:

$ virtualenv-2.7 bandersnatch
$ cd bandersnatch
$ wget http://someserver/bandersnatch-1.0/requirements.txt
$ bin/pip install -r requirements.txt

This doesn't look too different from my current approach, except that 
you download a (versioned) requirements.txt file instead of getting a 
checkout. Whether you run

$ bin/python bootstrap.py; bin/buildout

or

$ bin/pip install -r requirements.txt

Doesn't make too much of a difference to me. In contrast: running from 
an HG clone gives easier ugprades, actually.

Again, I'm trying to understand why people want to do it this way and 
I'm happy to do some extra work in order to learn something.

What am I missing?

Christian




More information about the Distutils-SIG mailing list