Run Subprocesses in Destination dir #1127
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
docs/changelog.md
Summary of changes
Addressing #1091
Set venv creation and install_package subprocesses to run inside the destination directory (self.root) in order to resolve a bug where python files in the cwd could break the venv creation.
Also a slight security improvement since by ignoring the python files in the cwd which could potentially override files on the sys.path
Test plan
Manually tested resolution of bug by creating a file in cwd
echo "blah blah" > logging.py
then running the current release of pipx
pipx install frogmouth
we get the expected error
running the same command with the modified
create_venv
shows a successful install and the installed package functions as expectedRepo tests were also passed successfully
https://github.com/ehlewis/pipx/actions/runs/7072389139