# [Python] 搭建 Python 环境

最近会使用 `python` 去下载一些有意思的命令行工具，和去跑一些开源项目，于是打算整理一下 `python` 环境的搭建过程

先说明一下，我使用的是 `wsl` 环境，不过其他的系统环境都大差不差

## 全局安装

有一些工具是需要在全局安装的

### 安装 `python`

在 `wsl` 中，默认是已经安装了 `python` 的，所以我就不用装了，没有 `python` / `python3` 命令的话按照官网提示进行安装即可

### 安装 `pipx`

现在有很多教程都会说全局安装 `pip`，但是在 `python3` 中，全局安装 `pip` 后，在全局使用 `pip install` 会报错。这是因为在 `python3` 中，推荐使用 `venv` 进行包的安装，这个后面会说。 所以总结来说就是：全局安装 `pip` 没用，因为全局的 `pip` 装不了包：

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1750217578242/876ded7a-f87d-4a76-a746-64f2b9085a14.png align="center")

另外一种方法就是使用 `pipx` 。`pipx` 是专门为这种全局安装的场景设置的，它会将你安装的命令放到 /home/lordmoon/.local/bin/ 目录下，然后你需要把这个目录添加到 `$PATH` 中 -- `pipx` 提供了这个功能，我们只需要使用 `pipx ensurepath` 就可以了：

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1750217464800/ac4f2fce-c420-484b-a72a-8c83c5ff16b9.png align="center")

## venv 安装

`python` 的一大特色就是 `venv`，这是一个虚拟环境，你可以在不同目录中创建虚拟环境：

```bash
// 初始化 venv
python3 -m venv <dir-name>

// 激活 venv -- 可以在这个 shell session 中使用虚拟环境中的包内容
source <venv>/bin/activate
```

在虚拟环境中默认会安装 `pip` ，然后在虚拟环境中，你就可以像网上的教程一样使用 `pip install` 来安装 `python` 包了

虚拟环境是非常独立的，它随时可删除的；同时在每次重新开启了一个终端 shell session 之后，都需要重新 `source` 一次 `venv` 才能继续在 session 中的任意目录使用

## UV 安装

`uv` 是一个 `python` 包，同时也是一个 `python` 的包管理工具

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1750218440244/b02a66b1-bebb-4311-8c16-2a4e9be3421c.png align="center")

目前我对 `uv` 了解不是很多，只知道可以用来安装 `python` 包和跑脚本，并且是兼容 `pip` 的：

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1750218736465/3feba620-3e73-4715-85d8-b4f9f8b13c9d.png align="left")

详情请参考官方文档吧：[Using tools | uv](https://docs.astral.sh/uv/guides/tools/)。后面有空或者有机会深入学习到的我再补充下
