Consider keeping manylinux1 wheels for Python 3.6
Hello, I've noticed that lxml 5.1+ upgraded the manylinux wheels to a newer tag. The default ensurpip-bundled pip version in Python 3.6 does not support newer manylinuxes, hence it is likely that many CI systems that still test 3.6 now attempt to build lxml from sources. Since 5.2, this also fails with the old pip due to the old bundled pytoml, as indicated in a previous thread on this list. $ python3.6 -m venv venv3.6 $ venv3.6/bin/pip list Package Version ---------- ------- pip 18.1 setuptools 40.6.2 5.0.2 has a manylinux1 wheel: $ venv3.6/bin/pip install lxml==5.0.2 ... lxml-5.0.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl 5.1.0 builds from source but uses setup.py and works (with devel deps): $ venv3.6/bin/pip install lxml==5.1.0 ... lxml-5.1.0.tar.gz Running setup.py install for lxml ... 5.2.1 builds from source and will outright blow up when parsing pyproject.toml: $ venv3.6/bin/pip install lxml==5.2.1 ... lxml-5.1.0.tar.gz ... pip._vendor.pytoml.core.TomlError: /tmp/.../lxml/pyproject.toml(40, 1): msg If support for Python 3.6 is still desired, would it maybe make sense to keep building and uploading manylinux1 wheels to make it easier? -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok
Hi, thanks for the report. Miro Hrončok schrieb am 03.04.24 um 15:55:
I've noticed that lxml 5.1+ upgraded the manylinux wheels to a newer tag.
That came from the migration to cibuildwheel and was only partly intended.
The default ensurpip-bundled pip version in Python 3.6 does not support newer manylinuxes, hence it is likely that many CI systems that still test 3.6 now attempt to build lxml from sources. Since 5.2, this also fails with the old pip due to the old bundled pytoml, as indicated in a previous thread on this list.
$ python3.6 -m venv venv3.6 $ venv3.6/bin/pip list Package Version ---------- ------- pip 18.1 setuptools 40.6.2
5.0.2 has a manylinux1 wheel:
$ venv3.6/bin/pip install lxml==5.0.2 ... lxml-5.0.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
5.1.0 builds from source but uses setup.py and works (with devel deps):
$ venv3.6/bin/pip install lxml==5.1.0 ... lxml-5.1.0.tar.gz Running setup.py install for lxml ...
5.2.1 builds from source and will outright blow up when parsing pyproject.toml:
$ venv3.6/bin/pip install lxml==5.2.1 ... lxml-5.1.0.tar.gz ... pip._vendor.pytoml.core.TomlError: /tmp/.../lxml/pyproject.toml(40, 1): msg
Hmm, right, that's annoying.
If support for Python 3.6 is still desired, would it maybe make sense to keep building and uploading manylinux1 wheels to make it easier?
I'll see what I can do. Stefan
I've uploaded a simple Py3.6 manylinux1 wheel for x86_64. https://files.pythonhosted.org/packages/b8/93/768dabd4032e15dc6e7ca6767c1326... Please try it out. Stefan Stefan Behnel schrieb am 03.04.24 um 21:46:
Hi,
thanks for the report.
Miro Hrončok schrieb am 03.04.24 um 15:55:
I've noticed that lxml 5.1+ upgraded the manylinux wheels to a newer tag.
That came from the migration to cibuildwheel and was only partly intended.
The default ensurpip-bundled pip version in Python 3.6 does not support newer manylinuxes, hence it is likely that many CI systems that still test 3.6 now attempt to build lxml from sources. Since 5.2, this also fails with the old pip due to the old bundled pytoml, as indicated in a previous thread on this list.
$ python3.6 -m venv venv3.6 $ venv3.6/bin/pip list Package Version ---------- ------- pip 18.1 setuptools 40.6.2
5.0.2 has a manylinux1 wheel:
$ venv3.6/bin/pip install lxml==5.0.2 ... lxml-5.0.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
5.1.0 builds from source but uses setup.py and works (with devel deps):
$ venv3.6/bin/pip install lxml==5.1.0 ... lxml-5.1.0.tar.gz Running setup.py install for lxml ...
5.2.1 builds from source and will outright blow up when parsing pyproject.toml:
$ venv3.6/bin/pip install lxml==5.2.1 ... lxml-5.1.0.tar.gz ... pip._vendor.pytoml.core.TomlError: /tmp/.../lxml/pyproject.toml(40, 1): msg
Hmm, right, that's annoying.
If support for Python 3.6 is still desired, would it maybe make sense to keep building and uploading manylinux1 wheels to make it easier?
I'll see what I can do.
Stefan
On 04. 04. 24 15:18, Stefan Behnel wrote:
I've uploaded a simple Py3.6 manylinux1 wheel for x86_64.
https://files.pythonhosted.org/packages/b8/93/768dabd4032e15dc6e7ca6767c1326...
Please try it out.
Thank you! $ venv3.6/bin/pip install lxml Collecting lxml Downloading https://files.pythonhosted.org/packages/b8/93/768dabd4032e15dc6e7ca6767c1326... (5.0MB) 100% |████████████████████████████████| 5.0MB 8.0MB/s Installing collected packages: lxml Successfully installed lxml-5.2.1 $ venv3.6/bin/python -c 'import lxml; print(lxml.__version__)' 5.2.1 -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok
James Belchamber schrieb am 15.05.24 um 22:37:
Would you be able to do the same thing for aarch64?
manylinux1 never supported aarch64: https://github.com/pypa/manylinux?tab=readme-ov-file#manylinux1-centos-5-bas... Stefan
participants (3)
-
James Belchamber
-
Miro Hrončok
-
Stefan Behnel