[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Python 3.4 and ensurepip (rehashed, long)



Thanks for following up here, and welcome to the list!  I lurk on the Fedora
list via Gmane, but I don't think I have posting privileges there.  Responding
a bit out of order.

On Mar 20, 2014, at 04:53 AM, Bohuslav Kabrda wrote:

>I'll be glad to discuss this/answer all questions that might arise about our
>approach. I'd really love to see it as a general cross-distro approach.

I agree that a cross-platform approach is best, if possible.  This may not be
the best place to hash something out though, since we probably won't reach
many other platforms (even Linux-based ones).  Maybe python-dev or the
pypa-dev list?  I have a number of questions and issues with the downstream
recommendations of PEP 453.  If you'll be at Pycon, that might also be a good
place to discuss.

>Basically, we'll add runtime deps on setuptools and pip to python3 package,

Doesn't that introduce a dependency cycle?  If so, does that bother you?

I don't particularly like it for Debian, but for Ubuntu it's a bigger problem
because python-pip is in universe so it would require a MIR to pull that into
main and avoid a cross-pocket dependency (on top of the dependency cycle it
would introduce).

>so systemwide "python3 -m ensurepip" won't actually do anything, since
>setuptools and pip will already be there.

With a reliable way to say "we are not in a virtualenv", I wouldn't mind if on
Debian, a systemwide `python3 -m ensurepip` would recommend installing the
python3-pip if it's not installed, much like command-not-found will do.  It
could also discourage the use of pip for the system Python (when --user is not
given).  Do Fedora users often want to pip install random PyPI packages into
the system Python?

>In virtualenv, our custom "rewheel" script (see the referenced mail for more
>info/links) will repack the system setuptools and pip to wheels archives and
>install them into the virtualenv.  I've been discussing this with Nick
>Coghlan quite extensively and he generally likes the approach, so we'll
>probably be trying to push it upstream for Python 3.5 (our patch is general,
>so it should work on any distro or even with vanilla upstream ensurepip).

What will rewheeling prefer when:

* bundled ones are newer than system ones?
* newer versions are available on PyPI?
* --upgrade is given?

Does using --system-site-packages affect rewheeling?

I'm not sure what we would do if we wanted avoided the dependency cycle, and
pip/setuptools wasn't yet installed system wide.

Cheers,
-Barry

Attachment: signature.asc
Description: PGP signature


Reply to: