pypa/pipx

Provide `ensurepath` with a check option or create an `init` command

Closed

#1,014 opened on Jul 3, 2023

 (8 comments) (0 reactions) (0 assignees)Python (591 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (12,928 stars)
PR merge metrics
 (Avg merge 4d 12h) (22 merged PRs in 30d)

Description

How would this feature be useful?

Currently, pipx ensurepath does not tell me what changes will it make. I would like to stay in control: see what changes it would make, and then decide if it's okay with me.

Describe the solution you'd like

  • Add a --check or --dry-run option that checks for necessary changes and outputs them.
    > pipx ensurepath --dry-run
    # append lines to ~/.config/fish/config.fish
    fish_add_path ~/.local/bin
    # ... and other configs
    

Describe alternatives you've considered

  • Add an init command that outputs the shell config changes - similarly to how pyenv does it:
    > pipx init --fish
    # Add this to your config.fish file if You haven't yet
    fish_add_path ~/.local/bin
    # ... other configs - similarly --zsh or --bash or --tcsh
    

Here is how pyenv does it:

> pyenv init
# Add pyenv executable to PATH by running
# the following interactively:

set -Ux PYENV_ROOT $HOME/.pyenv
set -U fish_user_paths $PYENV_ROOT/bin $fish_user_paths

# Load pyenv automatically by appending
# the following to ~/.config/fish/config.fish:

pyenv init - | source


# Restart your shell for the changes to take effect.

Contributor guide