Pipx

Материал из ALT Linux Wiki

PipX — это инструмент, позволяющий устанавливать «толстые» Python-пакеты сразу в отдельное Python-окружение, перенося при этом все точки входа (сценарии, приложения и т. п.) в ~/.local/bin. Легко устанавливается с помощью

pip install pipx
Внимание! Для того, чтобы приложения, поставленные pip или pipx, работали из командной строки, необходимо, чтобы ~/.local/bin был в $PATH


Основные команды

(больше информации — на сайте проекта)

  • Просмотр всех окружений и приложений в них
pipx list
  • Установка пакета пакет в окружение с именем пакет и создание в ~/.local/bin ссылок на все его приложения
pipx install пакет
  • Удаление окружения окружение и ссылок на его приложения
pipx uninstall пакет
  • Установка дополнительного пакета пакет в окружение окружение и добавление ссылок на приложения из этого пакета
pipx inject --include-apps окружение пакет

На примере jupyter-notebook и spyder

user@edu ~ $ echo $PATH
/home/user/.local/bin:/usr/lib/kf5/bin:/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
user@edu ~ $ pipx list 
nothing has been installed with pipx 😴
user@edu ~ $ pipx install notebook
⣻ installing notebook
  installed package notebook 7.0.2, installed using Python 3.9.6
  These apps are now globally available
    - jupyter-notebook
done! ✨ 🌟 ✨
user@edu ~ $ pipx list 
venvs are in /home/user/.local/pipx/venvs
apps are exposed on your $PATH at /home/user/.local/bin
   package notebook 7.0.2, installed using Python 3.9.6
    - jupyter-notebook
user@edu ~ $ pipx inject --include-apps notebook spyder
⣾ installing spyder
  installed package spyder 5.4.4, installed using Python 3.9.6
  These apps are now globally available
    - jupyter-notebook
    - spyder
done! ✨ 🌟 ✨
  injected package spyder into venv notebook
done! ✨ 🌟 ✨
user@edu ~ $ jupyter-notebook 
[I 2023-08-10 14:11:44.821 ServerApp] Package notebook took 0.0000s to import

user@edu ~ $ spyder

user@edu ~ $ pipx uninstall notebook
uninstalled notebook! ✨ 🌟 ✨
user@edu ~ $ pipx list
nothing has been installed with pipx 😴