@@ -9,16 +9,23 @@ Older archives: https://groups.google.com/forum/#!forum/manylinux-discuss
99
1010The goal of the manylinux project is to provide a convenient way to
1111distribute binary Python extensions as wheels on Linux. This effort
12- has produced `PEP 513 <https://www.python.org/dev/peps/pep-0513/ >`_
13- which defines the ``manylinux1_x86_64 `` and ``manylinux1_i686 `` platform
14- tags.
12+ has produced `PEP 513 <https://www.python.org/dev/peps/pep-0513/ >`_ which
13+ is further enhanced by `PEP 571 <https://www.python.org/dev/peps/pep-0571/ >`_
14+ defining ``manylinux2010_x86_64 `` platform tag.
15+
16+ PEP 513 defined ``manylinux1_x86_64 `` and ``manylinux1_i686 `` platform tags
17+ and the wheels were built on Centos5. Centos5 reached End of Life (EOL) on
18+ March 31st, 2017 and thus PEP 571 was proposed.
19+
20+ Code and details regarding ``manylinux1 `` can be found here:
21+ `manylinux1 <https://github.com/pypa/manylinux/tree/manylinux1 >`_.
1522
1623Wheel packages compliant with those tags can be uploaded to
1724`PyPI <https://pypi.python.org >`_ (for instance with `twine
1825<https://pypi.python.org/pypi/twine> `_) and can be installed with
19- **pip 8.1 and later **.
26+ **pip 19.0 and later **.
2027
21- The manylinux1 tags allow projects to distribute wheels that are
28+ The manylinux2010 tags allow projects to distribute wheels that are
2229automatically installed (and work!) on the vast majority of desktop
2330and server Linux distributions.
2431
@@ -35,21 +42,18 @@ Building manylinux-compatible wheels is not trivial; as a general
3542rule, binaries built on one Linux distro will only work on other Linux
3643distros that are the same age or newer. Therefore, if we want to make
3744binaries that run on most Linux distros, we have to use a very old
38- distro -- CentOS 5 .
45+ distro -- CentOS 6 .
3946
40- Rather than forcing you to install CentOS 5 yourself, install Python,
41- etc., we provide two `Docker <https://docker.com/ >`_ images where we've
42- done the work for you:
4347
44- 64-bit image (x86-64): ``quay.io/pypa/manylinux1_x86_64 ``
48+ Rather than forcing you to install CentOS 6 yourself, install Python,
49+ etc., we provide a `Docker <https://docker.com/ >`_ image where we've
50+ done the work for you:
4551
46- .. image :: https://quay.io/repository/pypa/manylinux1_x86_64/status
47- :target: https://quay.io/repository/pypa/manylinux1_x86_64
52+ 64-bit image (x86-64): ``quay.io/pypa/manylinux2010_x86_64 ``
4853
49- 32-bit image (i686): ``quay.io/pypa/manylinux1_i686 ``
54+ .. image :: https://quay.io/repository/pypa/manylinux2010_x86_64/status
55+ :target: https://quay.io/repository/pypa/manylinux2010_x86_64
5056
51- .. image :: https://quay.io/repository/pypa/manylinux1_i686/status
52- :target: https://quay.io/repository/pypa/manylinux1_i686
5357
5458These images are rebuilt using Travis-CI on every commit to this
5559repository; see the
@@ -84,10 +88,6 @@ unheard of flag combinations (such as ``--with-pydebug`` (``d``) and
8488Building Docker images
8589----------------------
8690
87- Due to the age of CentOS 5, its version of ``wget `` is unable to fetch
88- OpenSSL and curl source tarballs. Modern versions of these are needed in
89- order to fetch the remaining sources.
90-
9191To build the Docker images, you will need to fetch the tarballs to
9292``docker/sources/ `` prior to building. This can be done with the
9393provided prefetch script, after which you can proceed with building.
@@ -98,8 +98,10 @@ Please run the following command from the current (root) directory::
9898Example
9999-------
100100
101- An example project which builds 32- and 64-bit wheels for each Python interpreter
102- version can be found here: https://github.com/pypa/python-manylinux-demo.
101+ An example project which builds 64-bit wheels for each Python interpreter
102+ version can be found here: https://github.com/pypa/python-manylinux-demo. The
103+ repository also contains demo to build 32-bit and 64-bit wheels with ``manylinux1 ``
104+ tags.
103105
104106This demonstrates how to use these docker images in conjunction with auditwheel
105107to build manylinux-compatible wheels using the free `travis ci <https://travis-ci.org/ >`_
@@ -122,10 +124,11 @@ where the PEP was originally written, so if for some reason you really
122124want to see the full history of edits it went through, then this is
123125the place to look.
124126
127+ The proposal to upgrade ``manylinux1 `` to ``manylinux2010 `` after Centos5
128+ reached EOL was discussed in `PEP 571 <https://www.python.org/dev/peps/pep-0571/ >`_.
129+
125130This repo also has some analysis code that was used when putting
126- together the original proposal in the ``policy-info/ `` directory
127- (might be useful someday in the future for writing a ``manylinux2 ``
128- policy).
131+ together the original proposal in the ``policy-info/ `` directory.
129132
130133If you want to read the full discussion that led to the original
131134policy, then lots of that is here:
@@ -142,4 +145,4 @@ Everyone interacting in the manylinux project's codebases, issue
142145trackers, chat rooms, and mailing lists is expected to follow the
143146`PyPA Code of Conduct `_.
144147
145- .. _PyPA Code of Conduct : https://www.pypa.io/en/latest/code-of-conduct/
148+ .. _PyPA Code of Conduct : https://www.pypa.io/en/latest/code-of-conduct
0 commit comments