-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Stop installing setuptools
and wheel
by default on Python 3.12+ environments
#2487
Comments
setuptools
and wheel
by default on Python 3.12+ environmentssetuptools
and wheel
by default on Python 3.12+ environments
I'll try to implement the requested behavior. |
Go ahead 😃 |
@gaborbernat Did I get it right that the seed packages |
We should not remove those. We should just by default disable installing this on 3.12 or later. The user might still enable it manually. |
Thanks for the quick response! Should an option like |
No need we already have --setuptools --wheels whose default we can change. |
Really happy to see setuptools and wheel removed by default. Thanks for that! In jaraco/pip-run#73, I spent about an hour trying to figure out why the Python 3.12 builds were failing when the other Pythons weren't. I wouldn't have expected virtualenv to be providing version-specific features. One of the advantages of third-party packages is that they aren't coupled to Python releases and can provide users a consistent experience across Python versions. By rolling out this feature based on the Python version, you're creating an extra dimension to the configuration space. I'd have rather seen it rolled out universally (or at least made opt-in for users on older Pythons). |
There's a test that checks whether `import setup` works; our setup.py requires setuptools. Before Python 3.12, setuptools was preinstalled in all the virtualenvs. Virtualenv 20.23.0 changed this: - Do not install wheel and setuptools seed packages for Python 3.12+. See pypa/virtualenv#2487 for details and rationale.
As of Python 3.12, setuptools is no longer installed into venvs by default: pypa/virtualenv#2487 flake8-logging-format depends on setuptools without explicitely declaring it: globality-corp/flake8-logging-format#68 Add setuptools to additional_dependencies in pre-commit config to avoid issue when running pre-commit hooks with Python 3.12: Flake8 failed to load plugin "flake8-logging-format" due to No module named 'pkg_resources'.
As of Python 3.12, setuptools is no longer installed into venvs by default: pypa/virtualenv#2487 flake8-logging-format depends on setuptools without explicitely declaring it: globality-corp/flake8-logging-format#68 Add setuptools to additional_dependencies in pre-commit config to avoid issue when running pre-commit hooks with Python 3.12: Flake8 failed to load plugin "flake8-logging-format" due to No module named 'pkg_resources'. Also remove workaround from "Run pre-commit" GHA workflow.
As of Python 3.12, setuptools is no longer installed into venvs by default: pypa/virtualenv#2487 flake8-logging-format depends on setuptools without explicitely declaring it: globality-corp/flake8-logging-format#68 Add setuptools to additional_dependencies in pre-commit config to avoid issue when running pre-commit hooks with Python 3.12: Flake8 failed to load plugin "flake8-logging-format" due to No module named 'pkg_resources'. Also remove workaround from "Run pre-commit" GHA workflow.
`setuptools` will not be bundled in `venv` after Python3.12 see pypa/virtualenv#2487
- Add `setuptools` as a dependency: pypa/virtualenv#2487 - Bump pyzmq version number: https://pyzmq.readthedocs.io/en/latest/changelog.html#id11 - Bump pydantic version number: pydantic/pydantic#9637
What's the problem this feature will solve?
pip can now operate without setuptools in the environment, and it will be removed from the default set of
venv
packages in Python 3.12+ (python/cpython#101039)Describe the solution you'd like
What the title says. :)
Alternative Solutions
Not doing this, and being inconsistent with
venv
.Additional context
N/A
The text was updated successfully, but these errors were encountered: