From e32a8462e2af9316670762fbbf2dfda9f8fd0f09 Mon Sep 17 00:00:00 2001 From: Bo Bayles Date: Tue, 25 Apr 2023 16:22:59 -0500 Subject: [PATCH 1/4] Fix typo in docs --- docs/userguide/ext_modules.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/userguide/ext_modules.rst b/docs/userguide/ext_modules.rst index a59599b2756..8c193856ac2 100644 --- a/docs/userguide/ext_modules.rst +++ b/docs/userguide/ext_modules.rst @@ -46,7 +46,7 @@ To instruct setuptools to compile the ``foo.c`` file into the extension module .. seealso:: You can find more information on the `Python docs about C/C++ extensions`_. - Alternatively, you might also be interested in learn about `Cython`_. + Alternatively, you might also be interested in learning about `Cython`_. If you plan to distribute a package that uses extensions across multiple platforms, :pypi:`cibuildwheel` can also be helpful. From 1bef1e2e793ca59828d7911f702ce05c098c0a74 Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Fri, 28 Apr 2023 12:20:33 +0100 Subject: [PATCH 2/4] Adequate venv fixtures to the latest change in virtualenv Since version v20.23.0, `virtualenv` will no longer include `wheel` and `setuptools` in the created folders. Some tests in the setuptools test suite assume that these packages are always present. So we need to adequate these tests. --- setuptools/tests/fixtures.py | 4 +++- setuptools/tests/test_virtualenv.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/setuptools/tests/fixtures.py b/setuptools/tests/fixtures.py index 25ab49fd227..f1cfc66c81e 100644 --- a/setuptools/tests/fixtures.py +++ b/setuptools/tests/fixtures.py @@ -105,6 +105,8 @@ def venv(tmp_path, setuptools_wheel): """Virtual env with the version of setuptools under test installed""" env = environment.VirtualEnv() env.root = path.Path(tmp_path / 'venv') + env.create_opts = ['--no-setuptools', '--wheel=bundle'] + # TODO: Use `--no-wheel` when setuptools implements its own bdist_wheel env.req = str(setuptools_wheel) # In some environments (eg. downstream distro packaging), # where tox isn't used to run tests and PYTHONPATH is set to point to @@ -125,7 +127,7 @@ def venv_without_setuptools(tmp_path): """Virtual env without any version of setuptools installed""" env = environment.VirtualEnv() env.root = path.Path(tmp_path / 'venv_without_setuptools') - env.create_opts = ['--no-setuptools'] + env.create_opts = ['--no-setuptools', '--no-wheel'] env.ensure_env() return env diff --git a/setuptools/tests/test_virtualenv.py b/setuptools/tests/test_virtualenv.py index acfe04e9ddb..b17be9ef2ba 100644 --- a/setuptools/tests/test_virtualenv.py +++ b/setuptools/tests/test_virtualenv.py @@ -174,8 +174,8 @@ def sdist(distname, version): def test_test_command_install_requirements(venv, tmpdir, tmpdir_cwd): - # Ensure pip/wheel packages are installed. - venv.run(["python", "-c", "__import__('pkg_resources').require(['pip', 'wheel'])"]) + # Ensure pip is installed. + venv.run(["python", "-c", "import pip"]) # disable index URL so bits and bobs aren't requested from PyPI with contexts.environment(PYTHONPATH=None, PIP_NO_INDEX="1"): _check_test_command_install_requirements(venv, tmpdir) From 70ed7894801a308d93b1d155b30ac58d8ef0accd Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Tue, 2 May 2023 17:16:33 +0100 Subject: [PATCH 3/4] Add news fragment --- changelog.d/3915.misc.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/3915.misc.rst diff --git a/changelog.d/3915.misc.rst b/changelog.d/3915.misc.rst new file mode 100644 index 00000000000..cd962b2c6e4 --- /dev/null +++ b/changelog.d/3915.misc.rst @@ -0,0 +1 @@ +Adequate tests to the latest changes in ``virtualenv`` for Python 3.12. From 3f172826492e99470db75a74cdaa5494ec3e932c Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Thu, 27 Apr 2023 16:30:41 +0100 Subject: [PATCH 4/4] Attempt to use a valid PEP 440 version fallback --- setuptools/version.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setuptools/version.py b/setuptools/version.py index 75b2a14959a..ec253c41447 100644 --- a/setuptools/version.py +++ b/setuptools/version.py @@ -1,6 +1,6 @@ from ._importlib import metadata try: - __version__ = metadata.version('setuptools') + __version__ = metadata.version('setuptools') or '0.dev0+unknown' except Exception: - __version__ = 'unknown' + __version__ = '0.dev0+unknown'