Eagle233-Blog

[Troubleshooting] 使用 pipx 管理 Python 软件包


Categories Troubleshooting
Tags

267 Words   |   1 Minutes

pipx 对 Python CLI Application 都会创建一个独立的虚拟环境 venv,在其中安装这个 Package 及其需要的依赖,并且将其 CLI 命令暴露到 ~/.local/bin。较为适用于需要在命令行使用的 Package,例如 CS50x 的 submit50 style50 check50 etc…

Installation

brew install pipx
pipx ensurepath # 检查 pipx 暴露 CLI 命令的目录是否加入到 $PATH

pipx install submit50
pipx list

Usage

Update

如果需要更新 Packages

pipx upgrade submit50
pipx upgrade-all

Uninstall

需要卸载

pipx uninstall submit50
pipx uninstall-all

类似的还有 reinstall…

Inject

eagle233@Eagle233-M2Air world % help50 make hello
Traceback (most recent call last):
  File "/Users/eagle233/.local/bin/help50", line 6, in <module>
    from help50.__main__ import main
  File "/Users/eagle233/Library/Application Support/pipx/venvs/help50/lib/python3.14/site-packages/help50/__init__.py", line 2, in <module>
    from pkg_resources import get_distribution, DistributionNotFound
ModuleNotFoundError: No module named 'pkg_resources'

这种情况下可以给 help50 注入 setuptools (pkg_resources 由其提供)

pipx inject help50 setuptools

实际上 help50 无法使用是因为pkg_resources was removed in version v82.0.0

因此可以

pipx inject help50 "setuptools<81" --force

指定 Python 版本

pipx reinstall help50 --python python3.13
pipx reinstall style50 --python python3.13
pipx reinstall check50 --python python3.13
pipx reinstall submit50 --python python3.13

Page views: Loading...  ·  Visitors: Loading...
Except where otherwise noted, original content on this site is dedicated to the public domain under CC0 1.0.
Powered by Hexo & Theme mdsuper
沪ICP备2026040813号
Search