-
-
Notifications
You must be signed in to change notification settings - Fork 559
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AppVeyor CI: Add Python 3.11 jobs #360
Conversation
@scoder Your review, please. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Great. Waiting on these Python 3.11 Windows wheels for lxml. Have some workflows and apps not being able to build from source. |
Waiting !!!! |
@armando-herastang @govindashrit Please go to https://github.com/lxml/lxml/pull/360/files and click |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just a change to which versions are built. Would really like to see this from lxml going forward as windows builds are kind of a pain.
Hi @scoder! This PR got quite a bit of interest, and is as you can see quite a small CI change. Could you review this PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine.
Hi @scoder! This has now been a week in production, and it looks quite stable! Could a new patch release (4.9.2) be tagged and the Python 3.11 wheels be uploaded? It would be great to have them on PyPI. |
Windows wheels for Python 3.11 are not included in the release, and `cibuildwheels` cannot build them, this causes mypy wheel build failure on Windows for Python 3.11, see e.g. https://github.com/mypyc/mypy_mypyc-wheels/actions/runs/3527396237/jobs/5916408981 We need to do this until lxml/lxml#360 is released (hopefully in next few weeks). cc @hauntsaninja @JukkaL
Requires an update to lxml. See: lxml/lxml#360 Co-authored-by: Chris Markiewicz <markiewicz@stanford.edu>
@EwoutH +1 Looking forward to getting 4.9.2 release with windows Py3.11 wheel included. To be honest, it blocked me to upgrade Py3.11 due to missing wheel. |
Also waiting for the lxml 4.9.2 wheels for Py3.11, so we can switch to Python 3.11 finally. |
Could someone please explain where exactly this process got stuck yet again? The one place where wheels really matter, there aren't any: Windows. (Due to current Pythonland actively refusing to cooperate with mingw, and MS spyware not being acceptable.) Normally we don't rush to update, but it's been half a year, and 3.11 has some nice speed gains by default. Thanks |
I think there are quite a lot of Python libs that depends on lxml, so this is also some kind of blocker for upgrading to Python 3.11, at least for heterogeneous dev teams developing on/for the Windows platform. We would also like to move to Python 3.11 because of the performance gains. |
See #355. |
Just to counter that argument, wheels definitely matter much more on Linux than on Windows (or macOS). The amount of computing time saved by downloading lxml's Linux wheels, compared to downloading sources and building them, is tremendous. Here are the PyPI download stats for the last month, showing 90% Linux downloads, 2% Windows, and 0.6% macOS, where the remaining 7% are probably source downloads:
|
Thanks @scoder. Trying to help as an outsider is not useful, then.
You're certainly right about computing time and energy. However, my point is usability. On Linux, the worst case is usually quite okay. If there's no exotic dependency hell, it's usually as simple as installing your distro's equivalent of On Windows it's a nightmare. There simply is no way to do it without violating the system's integrity - at all. Best you can do is use this: https://github.com/throwawaymicrosoft1/Visual-CPP-Build-Tools-OFFLINE-installer. And that's so far beyond reason, unless I really desperately need a lib right this second, that's not coming on any system I admin. It's faster to even create a tiny Linux VM. If distutils/setuptools supported an acceptable standard like MinGW as it did in the past, this issue wouldn't be a total roadblock. |
@scoder I would suggest getting Python 3.11 wheels out first, because as seen above, a lot of users are requesting them. Then when that's done we can look at upgrading to VS 2022 (#355 and lxml/libxml2-win-binaries@3fb0529). This AppVeyor build passed, so I would suggest tagging e8f088a as 4.9.2, and uploading these artifacts to PyPI. |
@EwoutH 4.9.2 has already been published: |
Thank you! Our windows stuff is working again. |
Didn't see it yet, awesome! |
We upgraded now to Python 3.11 on all platforms, lxml 4.9.2 works everywhere now 🥇 |
everywhere.. except arm64 architecture on macOS (Apple Silicon M1/M2 chips) 😿 the cp311-universal2 wheel is broken, it pip installs fine but then it fails with ImportError -- dlopen complains about missing symbols supposedly from libxml2, even though it seems to be statically linked (doesn't show up in otool -L). |
I'm using a M1 chip. Looks like I had 4.9.1 installed. Removed it and installed the 4.9.2 wheel, and now I also get the error 😢
|
Can you revert with |
forcing to build from source with |
Or in my case |
AppVeyor deployed new Windows images with Python 3.11 support (appveyor/ci#3844), which means we can use it to build Python 3.11 Windows wheels for lxml. This PR adds three Python 3.11 jobs to the matrix, for the
x86
,x86-64
andarm64
platformsPart of Bug #1977998. Partly replaces #355.
I tested the jobs on my branch, and the workflow passes.
I would suggest after this PR, to backport it to the 4.9 maintenance branch and release a new 4.9.2 version which includes these Python 3.11 Windows wheels.