[TIP] Mock 0.8.0b4: easy_install and pip treat differently...

Michael Foord fuzzyman at voidspace.org.uk
Tue Dec 20 18:30:49 PST 2011


On 21 Dec 2011, at 01:44, Michael Foord wrote:

> 
> On 20 Dec 2011, at 23:42, Chris Withers wrote:
> 
>> On 20/12/2011 20:29, Carl Meyer wrote:
>>> Pip does not prefer "released packages" to beta releases; it has no
>>> algorithm for telling the difference. What's happening here is that
>>> mock's download page includes this link:
>>> 
>>> http://www.voidspace.org.uk/downloads/mock-0.8.0beta4.tar.gz#egg=mock-dev
>>> 
>>> The sdist filename here claims that this is mock version 0.8.0beta4, but
>>> the #egg fragment claims that it is mock version "dev". It seems that
>>> easy_install gives the filename preference, whereas pip gives preference
>>> to the explicit fragment.
>>> 
>>> You can get pip to install this version by requesting "mock==dev".
>>> 
>>> If Michael makes available another link to that tarball without the egg
>>> fragment, pip would be able to find it as "0.8.0beta4" - this would also
>>> have the effect that it would be considered the latest version available
>>> and thus installed by default (like easy_install does), which may not be
>>> what he wants.
>> 
>> Well, I guess my preferences, in order, would be:
>> 
>> - release Mock 0.8.0, it's awesome, what's stopping a full release? ;-)
>> 
>> - drop the #egg=mock-dev fragment
>> 
>> - provide two links, one with the fragment, one without
>> 
> 
> 
> Most of my users are using pip. With the dev fragment as it is the default version, for "pip install mock", is the latest stable version (0.7.2). For users who want the in development version they can do "pip install mock==dev". This works well and is what I want.
> 
> The fact that easy_install decides to install a dev / beta version as the latest version is its fault. Several times I've had trouble with easy_install spidering links and just installing *completely the wrong bloody thing* - so I'm done with bending over backwards for its crazy semantics. 
> 
> If someone can suggest a simple answer that retains the pip semantics (latest stable as default with dev available on demand) and still satisfy easy_install I'm all ears.
> 
> What is holding back a final release of mock is time to complete the documentation. This is a big release, with lots of good changes, and consequently lots of doc work before I can release. There are also a couple of fixes in the repo (mainly performance improvements) so I should do a beta 5 as well.
> 
> Unfortunately if you're relying on features in the dev version of mock then for the moment you'll have to use mock==dev in your tox.ini. Sorry.
> 
> (I can't do PyPI releases of 0.8 betas as then *pip* will choose them by default instead of the stable version.)


Jeepers I came across as even more of an asshole than usual in that email. Anyway, doc patches would help - but I need to rewrite the examples to use the new 0.8 features, as some of it is now idiomatic for stuff that is pretty common. So it isn't *just* a case of adding the new features to the docs.

I'll try and get to it over the Christmas break. (I actually enjoy writing docs - but have been really short of time recently.)

Maybe if I do a 0.8 beta 5 release I should just do a full pypi release with it - at least that would get more people testing the new code... ;-)

All the best,

Michael



> 
> All the best,
> 
> Michael
> 
> 
> 
>> Michael, anything I can do to help?
>> 
>> cheers,
>> 
>> Chris
>> 
>> -- 
>> Simplistix - Content Management, Batch Processing & Python Consulting
>>          - http://www.simplistix.co.uk
>> 
> 
> 
> --
> http://www.voidspace.org.uk/
> 
> 
> May you do good and not evil
> May you find forgiveness for yourself and forgive others
> May you share freely, never taking more than you give.
> -- the sqlite blessing 
> http://www.sqlite.org/different.html
> 
> 
> 
> 
> 
> 
> _______________________________________________
> testing-in-python mailing list
> testing-in-python at lists.idyll.org
> http://lists.idyll.org/listinfo/testing-in-python
> 


--
http://www.voidspace.org.uk/


May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing 
http://www.sqlite.org/different.html








More information about the testing-in-python mailing list