Subject: [alpine-devel] Splitting out pip and setuptools from python3

From: Natanael Copa <[email-masked]>
Date: Fri, 27 Oct 2017 18:33:06 +0200

Hi,

I wonder what you think about splitting out pip and setuptools from python3 package.

http://bugs.alpinelinux.org/issues/5381

I think I would like to do this, because it saves space and I think its
the best technical way to do it. But it also means that we need to add
py3-setuptools as makedepends on a lot of packages, and it may break
things for docker users who apk add python3 && pip install ...

Do you think it is worth it?

I think it is.

-nc

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Daniel Isaksen <[email-masked]>
Date: Fri, 27 Oct 2017 18:37:55 +0200

I would like to do this as well, as setuptools and pip aren't a part of
"core python". It will also, as you said, save disk space.

It's kind of what npm is to Node.js, although they're usually packaged
together.

If someone is willing to put the effort into this, I'd say it's worth it.

- Daniel

---

From: "A. Wilcox" <[email-masked]>
Date: Fri, 27 Oct 2017 12:37:31 -0500

On 27/10/17 11:37, Daniel Isaksen wrote:
> I would like to do this as well, as setuptools and pip aren't a
> part of "core python". It will also, as you said, save disk space.

https://docs.python.org/3/installing/index.html

"pip is the preferred installer program. Starting with Python 3.4, it
is included by default with the [official] Python binary."

On 27/10/2017 11:33, Natanael Copa wrote:
> I think I would like to do this, because it saves space and I think
> its the best technical way to do it. But it also means that we need
> to add py3-setuptools as makedepends on a lot of packages, and it
> may break things for docker users who apk add python3 && pip
> install ...
> 

The interpreter will work against you, especially if people do not
know that py3-setuptools contains pip (or would it be py3-pip?) –
since the official Python distribution contains pip now, for distros
that remove it they have added "python3 -m ensurepip" which will go
fetch pip from the Internet (if a network connection is available).

Personally, I feel like this would be a waste of effort.  However, if
a split really is needed/desired, then I strongly suggest py3-pip as a
separate package from py3-setuptools so that people can find and
install pip easily.

Please additionally note that while the original bug report says to
remove 'ensurepip', the PEP linked in the bug report clearly states:

> Even if pip is made available globally by other means, do not
> remove the ensurepip module in Python 3.4 or later.  ensurepip will
> be required for automatic installation of pip into virtual
> environments by the venv module.

This is very important for reproduceable environments and is
frequently used in regression testing environments.  Breaking `venv`
is not worth 1.6 MiB disk; please do not remove the ensurepip module.

Best,
- --arw

- -- 
A. Wilcox (awilfox)
Project Lead, Adélie Linux
http://adelielinux.org

---

---

From: Jean-Louis Fuchs <[email-masked]>
Date: Thu, 2 Nov 2017 11:14:42 +0100

Hi

> know that py3-setuptools contains pip (or would it be py3-pip?) –

I am skeptic, too. I know I used distros that had setuptools split,
but if you do anything with python you more less always need pip,
alpine can't possible support the vast python-eco-system.

Having said that, if we decide to split setuptools, I would help.

Best,
    Jean-Louis

---

From: Łukasz Jendrysik <[email-masked]>
Date: Mon, 30 Oct 2017 19:07:49 +0100

Hello,

> Do you think it is worth it?
Yes and no. Considering the venv issue mentioned by awilfox it might 
cause more issues that it's worth actually. Since Alpine might be 
heavily used in reproducible environments and other testing stuff I'd 
like to keep ensurepip.
However, splitting pip into py3-pip would be nice.

What do you think?

--scadu

---