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 …
[View More]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
[View Less]
Hi,
I'd like to try a tiny change to the CDATA class. In order to try, I
have to be able to build lxml. Unfortunately, on Windows.
I've downloaded Visual Studio 2019 CE. I created a (Python 3.12) virtual
environment, where I installed Cython (latest version). I cloned lxml
sources from GitHub. I then opened a "Developer command prompt for VS
2019", activated the virtual environment, and typed:
(.venv) C:\Temp\lxml\lxml>python setup.py build_ext -i --with-cython
--static-deps
This …
[View More]downloads the dependencies like libxml2 etc.; this goes without
problems. Then compilation starts, and gives errors:
[...]
Creating library
build\temp.win32-cpython-312\Release\src\lxml\etree.cp312-win_amd64.lib
and object
build\temp.win32-cpython-312\Release\src\lxml\etree.cp312-win_amd64.exp
etree.obj : error LNK2001: unresolved external symbol _xmlStrchr
etree.obj : error LNK2001: unresolved external symbol _xmlIOParseDTD
etree.obj : error LNK2001: unresolved external symbol _xmlMemShow
[...]
There are in total 503 unresolved externals. I checked the first one,
and find that is is present in the downloaded libxml2_a.lib, but without
the underscore. The directories of the downloaded libraries are
correctly added to the compiler command line.
I am out of my depth here. I hope someone is willing to help me proceed.
Kind regards,
Gertjan.
[View Less]
I'm attempting to develop a project that has been operational for a while. The project makes use of mixbox which references this library. It seems that version 5.2.0 of lxml was released yesterday. Strangely, pytoml is encountering an error related to the pyproject.toml file. Can someone investigate this issue?
#21 9.785 Saved /wheels/tox-2.7.0-py2.py3-none-any.whl
12:18:26
#21 9.806 Collecting lxml (from mixbox==1.0.5->-r requirements.txt (line 7))
12:18:26
#21 10.88 Downloading …
[View More]https://.../lxml-5.2.0.tar.gz (3.7MB)
12:18:26
#21 15.22 Exception:
12:18:26
#21 15.22 Traceback (most recent call last):
12:18:26
#21 15.22 File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 143, in main
12:18:26
#21 15.22 status = self.run(options, args)
12:18:26
#21 15.22 File "/usr/lib/python3/dist-packages/pip/_internal/commands/wheel.py", line 161, in run
12:18:26
#21 15.22 resolver.resolve(requirement_set)
12:18:26
#21 15.22 File "/usr/lib/python3/dist-packages/pip/_internal/resolve.py", line 102, in resolve
12:18:26
#21 15.22 self._resolve_one(requirement_set, req)
12:18:26
#21 15.22 File "/usr/lib/python3/dist-packages/pip/_internal/resolve.py", line 256, in _resolve_one
12:18:26
#21 15.22 abstract_dist = self._get_abstract_dist_for(req_to_install)
12:18:26
#21 15.22 File "/usr/lib/python3/dist-packages/pip/_internal/resolve.py", line 209, in _get_abstract_dist_for
12:18:26
#21 15.22 self.require_hashes
12:18:26
#21 15.22 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 298, in prepare_linked_requirement
12:18:26
#21 15.22 abstract_dist.prep_for_dist(finder, self.build_isolation)
12:18:26
#21 15.22 File "/usr/lib/python3/dist-packages/pip/_internal/operations/prepare.py", line 100, in prep_for_dist
12:18:26
#21 15.22 self.req.load_pyproject_toml()
12:18:26
#21 15.22 File "/usr/lib/python3/dist-packages/pip/_internal/req/req_install.py", line 428, in load_pyproject_toml
12:18:26
#21 15.22 str(self)
12:18:26
#21 15.22 File "/usr/lib/python3/dist-packages/pip/_internal/pyproject.py", line 43, in load_pyproject_toml
12:18:26
#21 15.22 pp_toml = pytoml.load(f)
12:18:26
#21 15.22 File "/usr/share/python-wheels/pytoml-0.1.2-py2.py3-none-any.whl/pytoml/parser.py", line 303, in load
12:18:26
#21 15.22 filename=fin.name)
12:18:26
#21 15.22 File "/usr/share/python-wheels/pytoml-0.1.2-py2.py3-none-any.whl/pytoml/parser.py", line 370, in loads
12:18:26
#21 15.22 toks.expect('=', 'expected_equals')
12:18:26
#21 15.22 File "/usr/share/python-wheels/pytoml-0.1.2-py2.py3-none-any.whl/pytoml/parser.py", line 250, in expect
12:18:26
#21 15.22 self.error(error_text)
12:18:26
#21 15.22 File "/usr/share/python-wheels/pytoml-0.1.2-py2.py3-none-any.whl/pytoml/parser.py", line 253, in error
12:18:26
#21 15.22 raise TomlError(message, self.pos[0][0], self.pos[0][1], self._filename)
12:18:26
#21 15.22 pytoml.core.TomlError: /tmp/pip-wheel-29w0tw8j/lxml/pyproject.toml(26, 8): expected_equals
[View Less]