-
Notifications
You must be signed in to change notification settings - Fork 476
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
When executing pipx install --global
:
- It correctly installs the venvs to
/opt/pipx/venvs
and the binaries and manual pages to/usr/local/bin
and/usr/local/man
. - The shared-libs are mistakenly installed to
~/.local/share/pipx
. - Empty and unused
~/.local/bin
and~/.local/share/man
directories are created. (This can be a problem if there are no write permissions to~/.local
, e.g. in a docker container without a proper user home directory.)
How to reproduce
$ docker run -it --rm python:3 bash
$$ pip install git+https://github.com/pypa/pipx.git
$$ pipx install --global cowsay
$$ which cowsay
/usr/local/bin/cowsay # --> good
$$ ls /opt/pipx/venvs
cowsay # --> good
$$ ls /opt/pipx/
venvs # --> bad: bin and share should be here
$$ ls ~/.local/
bin share state # --> bad: bin and share should NOT exist here; good: state/pipx/log is ok here
$ ls ~/.local/bin/
# --> bad: ~/.local/share/bin is empty
$ ls ~/.local/share/
man pipx # --> bad: ~/.local/share/pipx is actually created and used here
Expected behavior
$ docker run -it --rm python:3 bash
$$ pip install git+https://github.com/pypa/pipx.git
$$ pipx install --global cowsay
$$ which cowsay
/usr/local/bin/cowsay
$$ ls /opt/pipx/venvs
cowsay
$$ ls /opt/pipx/
bin share venvs
$$ ls ~/.local/
state
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working