[Distutils] multiple backports of ipaddress and a world of pain

Chris Withers chris at simplistix.co.uk
Tue Feb 16 13:37:49 EST 2016


Hi All,

(Apologies for copying in the maintainers of the two backports and 
django-netfields directly, I'm not sure you're on this distutils list...)

This is painful and horrible, and I wish pip would prevent 
modules/packages with the same name being installed by different 
distributions at the same time, but even if it did, that would just 
force something to happen rather than this:

So, RHEL7, for worse or worse, ships with Python 2.7.5. That means to 
keep pip happy, you need to do these dances in all the virtualenvs you 
create:

http://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning
http://urllib3.readthedocs.org/en/latest/security.html#pyopenssl

One of those extra packages drags in this backport:

https://pypi.python.org/pypi/ipaddress

Yay! Now we have a happy pip talking to both PyPI and our internal DevPI 
server!

Right, so in a Django project I need to use 
https://pypi.python.org/pypi/django-netfields. This, however, chooses 
this backport instead:

https://pypi.python.org/pypi/py2-ipaddress

So, now we have two packages installing ipaddress.py, except they're two 
very different versions and make different assumptions about what to do 
with Python 2 strings.

What should happen here? (other than me crying a lot...)

Chris


More information about the Distutils-SIG mailing list