Python 工具

概述

参考:

安装 Python 包/模块

参考:

管理 Python 的模块和包所在路径非常乱,不知道是何原因。

PIP 是首选的安装程序。从 Python 3.4 开始,它默认包含在 Python 二进制安装程序中。就算你是用 pipenv,poetry,底层依然是 pip,一律适用。

运行 pip 有两种方式:

  • pip …
  • python -m pip …

第一种方式和第二种方式大同小异,区别是第一种方式使用的 Python 解释器是写在 pip 文件的 shebang 里的,一般情况下,如果你的 pip 路径是 $path_prefix/bin/pip,那么 Python 路径对应的就是 $path_prefix/bin/python。如果你用的是 Unix 系统则 cat $(which pip) 第一行就包含了 Python 解释器的路径。第二种方式则显式地指定了 Python 的位置。这条规则,对于所有 Python 的可执行程序都是适用的。流程如下图所示。

image.png

那么,不加任何自定义配置时,使用 pip 安装包就会自动安装到 $path_prefix/lib/pythonX.Y/site-packages 下($path_prefix 是从上一段里得到的),可执行程序安装到 $path_prefix/bin 下,如果需要在命令行直接使用 my_cmd 运行,记得加到 PATH。

刚刚安装完的 Python 一般只有 pip 和 setuptools 模块,site-packages 目录下内容如下:

$ tree -L 1
.
├── README.txt
├── _distutils_hack
├── distutils-precedence.pth
├── pip
├── pip-23.0.1.dist-info
├── pkg_resources
├── setuptools
└── setuptools-65.5.0.dist-info

包管理工具

PIP

Rye

poetry

pipenv

pyenv

pdm

hatch

uv # 依赖库有全局缓存

Wheel 包

Wheel 是一种类似压缩包的 Python 用于分发包的文件,有点类似 .rpm、.deb。

python

参考:

python 是一个工具,用来管理 Python 语言编写的代码。

Syntax(语法)

python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]

OPTIONS

  • -S # Python 启动初始化时,不要导入 site 包
  • -m <ModuleName> # 在 sys.path 中搜索指定模块,并默认执行模块中 __name____main__ 的代码
    • python3 -m site 等效于 python3 /usr/lib/python3.8/site.py

EXAMPLE

启用一个简易的 HTTP 服务器

# 使用该命令可以在当前目录搭建一个简易的http服务器,当client访问的时候,就可以直接看到该目录下的内容,还可以下载该目录下的内容
python -m SimpleHTTPServer NUM

若报错则使用如下命令:

python3 -m http.server NUM

uv

参考:

只需要一个二进制文件即可使用!

uv init 初始化项目,生成 pyproject.toml 文件

uv add XXX 添加依赖库,同时更新 pyproject.toml 中的依赖部分

uv sync 根据 pyproject.toml 同步依赖

uv tool install XXX 以工具的形式安装 XXX。不作为依赖库

使用 –index 指定镜像源

uv sync –index “https://mirrors.aliyun.com/pypi/simple/"

uv 关联文件与配置

缓存的储存目录

  • Windows: %LOCALAPPDATA%\uv\cache\
  • Unix: $XDG_CACHE_HOME/uv/ 或 $HOME/.cache/uv/
  • 缓存的储存目录可以通过如下几种方式修改:
    • UV_CACHE_DIR 环境变量
    • pyproject.toml 文件中的 tool.uv.cache-dir 键
    • uv CLI 的 –cache-dir 命令函标志

缓存

uv cache clean 清除缓存

uv cache prune 会删除所有未使用的缓存条目


最后修改 July 17, 2025: python uv. ffmpeg (d71c3618)