Ubuntu / WSL 安装pipx

一、安装pipx

在 Ubuntu / WSL 上可以用两种方式安装,推荐第二种(官方脚本)或第三种(pip 安装最新版本并自动配置 PATH)。

1. apt 安装(最快,但版本往往偏旧)

bash 复制代码
sudo apt update
sudo apt install pipx
# apt 默认把可执行文件装在 /usr/bin/pipx

如果只是想临时体验可以这么做,但通常 apt 源里的 pipx 版本落后,且不会帮你配置用户路径。

2. 官方一键脚本(最新版 + 自动配置)

bash 复制代码
python3 -m pip install --user pipx
python3 -m pipx ensurepath     # 把 ~/.local/bin 写进 PATH

解释:

  1. --user 把 pipx 安装到 ~/.local 下,避免 sudo;

  2. ensurepath 会在 ~/.bashrc~/.zshrc 等文件尾部追加

    复制代码
    # added by pipx
    export PATH="$HOME/.local/bin:$PATH"

    让之后所有终端都能直接用 pipx 命令。

执行完后:

  • 重新开一个终端(或 source ~/.bashrc),再试:

    bash 复制代码
    pipx --version

3. 纯 pip + 手工 PATH(万一网络受限)

bash 复制代码
python3 -m pip install --user pipx
# 手动把 ~/.local/bin 加到 PATH,并重开终端
export PATH="$HOME/.local/bin:$PATH"

把上面 export 语句写进 ~/.bashrc~/.zshrc 即可。

二、使用pipx 安装 poetry 生成 pyproject.toml 文件

2.1 、Poetry(最流行的 All-in-One)

  1. 安装

    bash 复制代码
    pipx install poetry    
  2. 在现有目录里交互式生成

    bash 复制代码
    poetry init             # 逐步问答,最后生成 pyproject.toml

    • 新项目直接 poetry new --src mypkg,骨架(src 目录、tests、pyproject)一次到位。

  3. 后续操作

    bash 复制代码
    # 安装依赖
    poetry add fastapi
    ...
    
    # poetry install          # 创建虚拟环境并安装依赖
    # poetry build            # 打包 wheel / sdist

────────────────────────────

二、Hatch(官方推荐的新一代工具)

  1. 安装

    bash 复制代码
    pipx install hatch
  2. 生成项目模板

    bash 复制代码
    hatch new mypkg

    会得到:

    复制代码
    mypkg/
      ├─ src/mypkg/__init__.py
      ├─ tests/
      └─ pyproject.toml      ← 已写好 build-system + project 字段
  3. 依赖管理

    bash 复制代码
    cd mypkg
    hatch env create
    hatch run +dev:pytest
    hatch build
相关推荐
埃伊蟹黄面1 分钟前
ELF深入解剖:从文件头到动态段,图解库的二进制构成
linux·c·
五仁火烧29 分钟前
生产环境中配置了接口3000后,不能启动,改成8080后就可以
linux·网络·安全·vue
黄焖鸡能干四碗34 分钟前
智能制造工业大数据应用及探索方案(PPT文件)
大数据·运维·人工智能·制造·需求分析
JiMoKuangXiangQu36 分钟前
Linux build:头文件安装
linux·headers_install
橙露41 分钟前
国产PLC与进口PLC全面对比分析:技术、市场与未来趋势
运维·网络
lbb 小魔仙1 小时前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
清水白石0081 小时前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python
码农小韩1 小时前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
Joren的学习记录1 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
代码游侠2 小时前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite