rebuilding python pip from source

Doug Henderson
Mon Mar 4 18:09:00 GMT 2019

On Mon, 4 Mar 2019 at 09:39, Yaakov Selkowitz <> wrote:
> On Mon, 2019-03-04 at 04:57 -0700, Doug Henderson wrote:
> > I am trying to rebuild the python37-pip package from source.
> > Checking source in setup gives me /usr/src/python-pip-19.0.2-1.src/
> > When I try to build the package I get an error:
> >
> >     $ cygport python-pip.cygport all
> >     *** ERROR: python27-pip is required to build this package
> >
> > Initially I got errors saying python36-pip, etc. were required, so I
> > installed the binary and source packages for them, but there is no
> > python27-pip or python2-pip package available to install.
> There is:

I have that package installed. I want to be able to compile it from
source, as a small step towards my ultimate goal.

> > Ultimately I intend to completely rebuild from source both Python 2.7 and 3.7
> > and all the other packages named "^python.*".
> To what end?

Because that is a right granted to me by the open source license under
which some source code is released. Perhaps not explicitly by the
Python and cygwin licences, but as an implied ability.

What is the point of having a source package but to be able to rebuild
the binary package. For me, it is more a learning process than
anything else.

I understand that you are the maintainer of the main Python packages,
as well as many other related packages. Thank you for your
contributions. I must keep you very busy, so automating the process
using cygport makes a lot of sense. There are other python related
packages maintained by others, or orphaned. Starting with pip seemed a
good idea.

Previously, before python3 was available on cygwin, I rebuilt python2
from source, and also attempted to port python3. I don't think I used
cygport back then. Back in the early 80's I received gcc, emacs, X11,
sun-rpc, etc. on 9 track tape, and built them on the wide variety of
Unix workstations and servers in our office. And over the years I
built Python every where I had a C compiler but no Python. Building
software from a source distribution is not a problem for me. Currently
I maintain the cygwin expat package.

I suspect that the Python build process requires some manual steps in
addition to perhaps running cygport in small step, or even editing
the.cygport file between those steps, that are not obvious from
examining the source package. I suspect there is a recipe that you use
every time you build a new Python release. I hope you can share that
with me.

I am thinking about porting some other packages to cygwin, and Python
represents a complex system of packages that appears to make good use
of cygport. Along the way, I need a better understanding of cygport,
and how to wrap a provided build system within it.


Doug Henderson, Calgary, Alberta, Canada - from

More information about the Cygwin-apps mailing list