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 的可执行程序都是适用的。流程如下图所示。
那么,不加任何自定义配置时,使用 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
包管理工具
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
会删除所有未使用的缓存条目
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.