-
Notifications
You must be signed in to change notification settings - Fork 69
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
Need to augment wheel tag computation code to account for nogil builds #499
Comments
gh-621 addresses part of this. As of today, it's not yet very easy to test with a free-threaded CPython build and make the test suite pass. The hiccups are:
In order to make Then the diff --git a/tests/conftest.py b/tests/conftest.py
index 80303a14f..68df9e2ef 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -101,7 +101,14 @@ class VEnv(EnvBuilder):
@pytest.fixture()
def venv(tmp_path_factory):
path = pathlib.Path(tmp_path_factory.mktemp('mesonpy-test-venv'))
- return VEnv(path)
+ fixture = VEnv(path)
+
+ # Apply fix to `pip` installed into venv to avoid unknown tag issue
+ sitepkg_dir = '/home/rgommers/mambaforge/envs/nogil/lib/python3.13/site-packages'
+ sitepkg_venv = str(path) + '/lib/python3.13/site-packages'
+ _file = '/pip/_internal/resolution/resolvelib/factory.py'
+ subprocess.run(['cp', sitepkg_dir + _file, sitepkg_venv + _file])
+ return fixture
def generate_package_fixture(package): |
Everything works, I only left this open to remind myself to add a CI job once the Happy to close this though and keep track of that task elsewhere - it's not urgent, and we're unlikely to regress on full support. |
Do you have a sense for when we may see nogil builds available via |
Tracked in actions/setup-python#771. No timeline, but I think the desire is to do that for the |
Oh, you mentioned the |
We should probably be able to drop some Meson versions? If we test oldest/newest releases plus master branch, that gets us pretty much what we need. Unless we have a specific reason to test every minor version. We can also combine Meson and Python versions, rather than having separate jobs for "check each Python version with latest |
You can use |
Awesome. I wasn't expecting that just yet, but it looks like it was enabled by including |
I'm giving it a try just now, see #627 |
Tests for free-threading Python 3.13 are up and running. Closing this issue. |
Starting with Python 3.13 there will be a nogil variant of the interpreter that will need to be get an interpreter tag in the wheel tag string. See https://discuss.python.org/t/python-abis-and-pep-703/34018
The text was updated successfully, but these errors were encountered: