Skip to content
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

env: default to enabling pip/wheels/setuptools #4011

Merged
merged 6 commits into from
May 3, 2021

Conversation

abn
Copy link
Member

@abn abn commented Apr 30, 2021

For project virtual environments, default to enabling pip, setuptools
and wheel packages to retain existing stable behaviour to prevent
unexpected breakages caused by development environments making
assumptions of base package availability in virtual environments.

Poetry itself does not require the use of these packages and will
execute correctly within environments that do not have these packages.

This change retains the ability to manage these packages as direct
project dependency as introduced in #2826. All poetry internal
execution of pip is retaining the use of the wheel embedded within
the virtualenv package used by poetry.

In cases where a one of these reserved packages are being managed as a
project dependency, the will be treated as any other project
dependency. Executing poetry install --remove-untracked will not
remove any of these reserved packages. However, poetry add pip and
poetry remove pip will trigger the update and removal of pip
respectively.

Relates-to: #2826
Relates-to: #3916

Closes: #3920

abn added 5 commits April 30, 2021 12:07
Replace updates of os.environ with explicit passing of `env` to
subprocess calls in `Env.execute()`.

Relates-to: python-poetry#3199
Previously, pytest execution was influenced by poetry user
configuration. This change ensures that a new config.toml is used each
test case.
poetry/puzzle/solver.py Outdated Show resolved Hide resolved
For project virtual environments, default to enabling pip, setuptools
and wheel packages to retain existing stable behaviour to prevent
unexpected breakages caused by development environments making
assumptions of base package availability in virtual environments.

Poetry itself does not require the use of these packages and will
execute correctly within environments that do not have these packages.

This change retains the ability to manage these packages as direct
project dependency as introduced in python-poetry#2826. All poetry internal
execution of pip is retaining the use of the wheel embedded within
the virtualenv package used by poetry.

In cases where a one of these reserved packages are being managed as a
project dependency, the will be treated as any other project
dependency. Executing `poetry install --remove-untracked` will not
remove any of these reserved packages. However, `poetry add pip` and
`poetry remove pip` will trigger the update and removal of `pip`
respectively.

Relates-to: python-poetry#2826
Relates-to: python-poetry#3916
Copy link
Member

@sdispater sdispater left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me 👍

@sdispater sdispater merged commit 25aae99 into python-poetry:master May 3, 2021
@abn abn deleted the env/default-with-pip branch May 6, 2021 00:10
@abn abn mentioned this pull request May 6, 2021
Copy link

github-actions bot commented Mar 1, 2024

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants