pypi pipx 0.16.0.0

latest releases: 1.5.0, 1.4.3, 1.4.2...
3 years ago
  • New venv inspection! The code that pipx uses to examine and determine metadata in an installed venv has been made faster, better, and more reliable. It now uses modern python libraries like packaging and importlib.metadata to examine installed venvs. It also now properly handles installed package extras. In addition, some problems pipx has had with certain characters (like periods) in package names should be remedied.
  • Added reinstall command for reinstalling a single venv.
  • Changed pipx run on non-Windows systems to actually replace pipx process with the app process instead of running it as a subprocess. (Now using python's os.exec*)
  • [bugfix] Fixed bug with reinstall-all command when package have been installed using a specifier. Now the initial specifier is used.
  • [bugfix] Override display of PIPX_DEFAULT_PYTHON value when generating web documentation for pipx install #523
  • [bugfix] Wrap help documentation for environment variables.
  • [bugfix] Fixed uninstall crash that could happen on Windows for certain packages
  • [feature] Venv package name arguments now do not have to match exactly as pipx has them stored, but can be specified in any python-package-name-equivalent way. (i.e. case does not matter, and ., -, _ characters are interchangeable.)
  • [change] Venvs with a suffix: A suffix can contain any characters, but for purposes of uniqueness, python package name rules apply--upper- and lower-case letters are equivalent, and any number of ., -, or _ characters in a row are equivalent. (e.g. if you have a suffixed venv pylint_1.0A you could not add another suffixed venv called pylint--1-0a, as it would not be a unique name.)
  • [implementation detail] Pipx shared libraries (providing pip, setuptools, wheel to pipx) are no longer installed using pip arguments taken from the last regular pipx install. If you need to apply pip arguments to pipx's use of pip for its internal shared libraries, use PIP_* environment variables.
  • [feature] Autocomplete for venv names is no longer restricted to an exact match to the literal venv name, but will autocomplete any logically-similar python package name (i.e. case does not matter, and ., -, _ characters are all equivalent.)
  • pipx now reinstalls its internal shared libraries when the user executes reinstall-all.
  • Made sure shell exit codes from every pipx command are correct. In the past some (like from pipx upgrade) were wrong. The exit code from pipx runpip is now the exit code from the pip command run. The exit code from pipx list will be 1 if one or more venvs have problems that need to be addressed.
  • pipx now writes a log file for each pipx command executed to $PIPX_HOME/logs, typically ~/.local/pipx/logs. pipx keeps the most recent 10 logs and deletes others.
  • pipx upgrade and pipx upgrade-all now have a --upgrade-injected option which directs pipx to also upgrade injected packages.
  • pipx list now detects, identifies, and suggests a remedy for venvs with old-internal data (internal venv names) that need to be updated.
  • Added a "Troubleshooting" page to the pipx web documentation for common problems pipx users may encounter.
  • pipx error, warning, and other messages now word-wrap so words are not split across lines. Their appearance is also now more consistent.

Don't miss a new pipx release

NewReleases is sending notifications on new releases.