Skip to content

命令行参考#

pdm#

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -V, --version: 显示版本并退出
  • -c, --config: 指定其他配置文件路径 [环境变量: PDM_CONFIG_FILE]
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --no-cache: 禁用当前命令的缓存。 [环境变量: PDM_NO_CACHE]
  • -I, --ignore-python: 忽略保存在.pdm-python中的 Python 路径。 [环境变量: PDM_IGNORE_SAVED_PYTHON]
  • --pep582 SHELL: 打印用于 PEP 582 的 shell 的命令行
  • -n, --non-interactive: 不显示交互式提示,而是使用默认值。 [env var: PDM_NON_INTERACTIVE]

命令:

add#

将包添加到 pyproject.toml 并安装它们

更新策略:

  • --update-reuse: 如果可能,尝试更新已存在锁定文件中的已固定版本
  • --update-eager: 尝试递归更新包及其依赖项
  • --update-all: 更新所有依赖项和子依赖项
  • --update-reuse-installed: 如果可能,尝试更新已安装的包及其依赖项

保存策略:

  • --save-compatible: 保存兼容版本规范
  • --save-wildcard: 保存通配符版本规范
  • --save-exact: 保存精确版本规范
  • --save-minimum: 保存最小版本规范

包参数:

  • -e, --editable: 指定可编辑的包
  • packages: 指定包

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -L, --lockfile: 指定其他锁定文件路径。 默认:pdm.lock。 [环境变量: PDM_LOCKFILE]
  • --frozen-lockfile, --no-lock: 不要尝试创建或更新锁定文件。 [环境变量: PDM_FROZEN_LOCKFILE]
  • --override: 使用 pip-requirements 格式的约束文件进行覆盖。 [env var: PDM_OVERRIDE] 此选项可以多次使用。请参阅
  • --pre, --prerelease: 允许预发布版本被固定
  • --stable: 默认情况下,只允许固定稳定版本 默认值: (True)
  • -u, --unconstrained: 忽略 pyproject.toml 中的版本约束,并使用新 ones 从解决结果覆盖
  • --dry-run: 仅显示差异,不执行任何操作
  • --venv NAME: 在给定键的虚拟环境中运行命令。 [环境变量: PDM_IN_VENV]
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • -d, --dev: 将包添加到开发依赖项
  • -G, --group: 指定要将包添加到的目标依赖项组
  • --no-sync: 仅写入 pyproject.toml 并无需同步工作集(默认:False

安装选项:

  • --no-editable: 为所有包安装不可编辑版本。 [环境变量:PDM_NO_EDITABLE]
  • --no-self: 不安装项目本身。 [环境变量:PDM_NO_SELF]
  • --fail-fast, -x: 在首次安装错误时中止
  • --no-isolation: 当构建遵循 PEP 517 的源分发时禁用隔离,即:如果使用此选项,则必须已安装 PEP 518 指定的构建依赖项。
  • --config-setting, -C: 将选项传递给构建器。 具有值的选项必须在“=”之后指定:--config-setting=key(=value)-Ckey(=value)

build#

为分发构建工件

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --no-isolation: 当构建遵循 PEP 517 的源分发时禁用隔离,即:如果使用此选项,则必须已安装 PEP 518 指定的构建依赖项。
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • --config-setting, -C: 将选项传递给构建器。 具有值的选项必须在“=”之后指定:--config-setting=key(=value)-Ckey(=value)
  • --no-sdist: 不要构建源 tarball(默认:False
  • --no-wheel: 不要构建轮(默认:False
  • -d, --dest: 将工件放入的目标目录(默认:dist
  • --no-clean: 不要清理目标目录(默认:False

cache#

控制 PDM 的缓存

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

命令:

clear#

清理缓存目录下的所有文件

位置参数:

  • type: 清除给定类型的缓存

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

remove#

删除匹配给定模式的文件

位置参数:

  • pattern: 要删除的模式

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

list#

列出存储在缓存中的已构建轮

位置参数:

  • pattern: 要列出的模式 (默认: *)

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

info#

显示缓存的当前大小和信息

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

completion#

为给定的 shell 生成完成脚本

位置参数:

  • 'shell':要为其生成脚本的 shell。如果没有给出,PDM 将从 'SHELL' 环境变量 中正确猜测。

可选参数:

  • -h, --help: 显示此帮助消息并退出。

config#

显示当前配置

位置参数:

  • key: 配置键
  • value: 配置值

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -l, --local: 在项目的本地配置文件中设置配置
  • -d, --delete: 取消设置配置键
  • -e, --edit: 在默认编辑器(由 EDITOR 环境变量定义)中编辑配置文件

export#

将锁定的包集导出为其他格式

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -L, --lockfile: 指定其他锁定文件路径。 默认:pdm.lock。 [环境变量: PDM_LOCKFILE]
  • '-f', '--format':目前仅支持requirements.txt。默认值:('requirements')
  • --no-hashes, --without-hashes: 不要包含工件哈希 默认值:(False
  • --no-markers: (已弃用)不包含平台标记(默认:False
  • --no-extras: 剥离额外的要求(默认:False
  • -o, --output: 将输出写入给定的文件,如果未指定,则打印到 stdout
  • --pyproject: 从 pyproject.toml 读取包的列表
  • --expandvars: 在要求中展开环境变量
  • --self: 包括项目本身
  • --editable-self: 将项目本身作为可编辑依赖项包括在内

依赖选择:

  • -G, --group, --with GROUP: 以逗号分隔的选择可选依赖项组或开发依赖项(使用-d)。可以多次提供。使用:all包括同一物种下的所有组。
  • --without: 排除可选依赖项组或开发依赖项
  • --no-default: 不包括默认组的依赖项(默认:False
  • -d, --dev: 选择开发依赖项
  • --prod, --production: 取消选择开发依赖项(默认:True

fix#

根据最新的 PDM 版本修复项目问题

位置参数:

  • problem: 修复特定的问题,如果没有指定,则全部修复

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --dry-run: 仅显示问题

import#

从其他格式导入项目元数据

位置参数:

  • filename: 文件名

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -d, --dev: 导入包到开发依赖项
  • -G, --group: 指定要将其导入的目标依赖项组
  • -f, --format: 显式指定文件格式

info#

显示项目信息

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --venv NAME: 在给定键的虚拟环境中运行命令。 [环境变量: PDM_IN_VENV]
  • --python: 显示解释器路径
  • --where: 显示项目根路径
  • --packages: 显示本地包根
  • --env: 显示 PEP 508 环境标记
  • --json: 以 JSON 格式显示信息

init#

初始化 pyproject.toml 以使用 PDM

位置参数:

  • template: 指定项目模板,可以是本地路径或 Git URL
  • generator_args: 传递给生成器的参数

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • --copier: Use Copier to generate project [not installed] (default: builtin)
  • --cookiecutter: Use Cookiecutter to generate project [not installed] (default: builtin)
  • -r, --overwrite: 覆盖现有文件

内置生成器选项:

  • -n, --non-interactive: 不询问但使用默认值
  • --python: 指定要使用的 Python 版本/路径
  • --dist, --lib: 创建用于分发的包
  • --backend: 指定构建后端,这会隐含 --dist
  • --license: 指定许可证(SPDX 名称)
  • --project-version: 指定项目的版本

install#

安装依赖项从锁定文件

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --override: 使用 pip-requirements 格式的约束文件进行覆盖。 [env var: PDM_OVERRIDE] 此选项可以多次使用。请参阅
  • --dry-run: 仅显示差异,不执行任何操作
  • -L, --lockfile: 指定其他锁定文件路径。 默认:pdm.lock。 [环境变量: PDM_LOCKFILE]
  • --frozen-lockfile, --no-lock: 不要尝试创建或更新锁定文件。 [环境变量: PDM_FROZEN_LOCKFILE]
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • --venv NAME: 在给定键的虚拟环境中运行命令。 [环境变量: PDM_IN_VENV]
  • --check: 检查锁定文件是否最新,如果不最新则失败
  • --plugins: 安装pyproject.toml中指定的插件

安装选项:

  • --no-editable: 为所有包安装不可编辑版本。 [环境变量:PDM_NO_EDITABLE]
  • --no-self: 不安装项目本身。 [环境变量:PDM_NO_SELF]
  • --fail-fast, -x: 在首次安装错误时中止
  • --no-isolation: 当构建遵循 PEP 517 的源分发时禁用隔离,即:如果使用此选项,则必须已安装 PEP 518 指定的构建依赖项。
  • --config-setting, -C: 将选项传递给构建器。 具有值的选项必须在“=”之后指定:--config-setting=key(=value)-Ckey(=value)

依赖选择:

  • -G, --group, --with GROUP: 以逗号分隔的选择可选依赖项组或开发依赖项(使用-d)。可以多次提供。使用:all包括同一物种下的所有组。
  • --without: 排除可选依赖项组或开发依赖项
  • --no-default: 不包括默认组的依赖项(默认:False
  • -d, --dev: 选择开发依赖项
  • --prod, --production: 取消选择开发依赖项(默认:True

list#

列出当前工作集安装的包

位置参数:

  • patterns: 按模式过滤包。 例如,pdm list requests- flask-。 在--tree模式下,只显示匹配包的子树。

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --venv NAME: 在给定键的虚拟环境中运行命令。 [环境变量: PDM_IN_VENV]
  • --freeze: 以 pip 的 requirements.txt 格式显示已安装的依赖项
  • --tree, --graph: 显示依赖关系的树形结构
  • -r, --reverse: 反转依赖树
  • --resolve: 解析所有要求以输出许可证(而不是仅显示当前安装的许可证)
  • --fields: 选择以逗号分隔的字符串输出的信息。 所有字段:groups,homepage,licenses,location,name,version。 (默认:name,version,location
  • --sort: 使用给定字段名称对输出进行排序。 如果未设置,则不进行排序。 多个字段可以组合为“,”。
  • --csv: 以 CSV 文档格式输出依赖项
  • --json: 以 JSON 文档格式输出依赖项
  • --markdown: 以 markdown 文档格式输出依赖项和法律通知 - 最佳实践基础
  • --include: 要包含在输出中的依赖项组。 默认情况下包含所有组
  • --exclude: 从输出中排除依赖项组

lock#

解析并锁定依赖项

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -L, --lockfile: 指定其他锁定文件路径。 默认:pdm.lock。 [环境变量: PDM_LOCKFILE]
  • --no-isolation: 当构建遵循 PEP 517 的源分发时禁用隔离,即:如果使用此选项,则必须已安装 PEP 518 指定的构建依赖项。
  • --config-setting, -C: 将选项传递给构建器。 具有值的选项必须在“=”之后指定:--config-setting=key(=value)-Ckey(=value)
  • --override: 使用 pip-requirements 格式的约束文件进行覆盖。 [env var: PDM_OVERRIDE] 此选项可以多次使用。请参阅
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • --refresh: 刷新锁定文件中的内容哈希和文件哈希
  • --check: 检查锁定文件是否最新并退出
  • --update-reuse: 如果可能,则重新使用锁定文件中的已固定版本(默认:all
  • --update-reuse-installed: 如果可能,尝试更新已安装的包及其依赖项
  • --exclude-newer: 以 UTC 格式 YYYY-MM-DD[THH:MM:SSZ] 指定排除大于给定日期的包

锁定目标:

  • --python: 用于锁定的 Python 范围。例如:>=3.9==3.12.*
  • --platform: 用于锁定的平台。例如:windowslinuxmacosmanylinux_2_17_x86_64查看可用选项
  • --implementation: 用于锁定的 Python 实现。例如:cpythonpypypyston
  • --append: 将结果追加到当前锁定文件

锁定策略:

  • --strategy, -S STRATEGY: 指定锁定策略(cross_platform, static_urls, direct_minimal_versions, inherit_metadata)。 可以多次提供或通过逗号分隔。
  • --no-cross-platform: [已弃用] 仅锁定当前平台的包
  • --static-urls: [已弃用] 将静态文件 URL 存储在锁定文件中
  • --no-static-urls: [已弃用] 不将静态文件 URL 存储在锁定文件中

依赖选择:

  • -G, --group, --with GROUP: 以逗号分隔的选择可选依赖项组或开发依赖项(使用-d)。可以多次提供。使用:all包括同一物种下的所有组。
  • --without: 排除可选依赖项组或开发依赖项
  • --no-default: 不包括默认组的依赖项(默认:False
  • -d, --dev: 选择开发依赖项
  • --prod, --production: 取消选择开发依赖项(默认:True

outdated#

检查是否存在过时的软件包,并列出索引上的最新版本。

位置参数:

  • patterns: 要检查的包

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --json: 以 JSON 格式输出(默认:table

publish#

构建并发布项目到 PyPI

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • -r, --repository: 要将包发布到的存储库名称或 URL [环境变量:PDM_PUBLISH_REPO]
  • -u, --username: 访问存储库的用户名 [环境变量:PDM_PUBLISH_USERNAME]
  • -P, --password: 访问存储库的密码 [环境变量:PDM_PUBLISH_PASSWORD]
  • -S, --sign: 使用 PGP 签名上传包
  • -i, --identity: 用于签名文件的 GPG 身份。
  • -c, --comment: 要包含在分发文件中的注释。
  • -c, --comment: 要包含在分发文件中的注释。
  • -d, --dest: 从该目录上传包(默认:dist
  • --skip-existing: 跳过上传已存在的文件。 这可能不适用于某些存储库实现。
  • --no-very-ssl: 禁用 SSL 验证
  • --ca-certs: 要用于发布服务器验证的 PEM 编码的 CA 证书文件的路径 [环境变量:PDM_PUBLISH_CA_CERTS]

python#

管理已安装的 Python 解释器

可选参数:

  • -h, --help: 显示此帮助消息并退出。

命令:

list#

列出所有使用 PDM 安装的 Python 解释器

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

remove#

删除使用 PDM 安装的 Python 解释器

位置参数:

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

install#

用 PDM 安装 Python 解释器

位置参数:

  • version: 要安装的 Python 版本(例如 [email protected])。如果留空,将安装匹配此平台/架构的最高 cPython 版本。如果 pyproject.toml 与 requires-python 兼容,则考虑这一点。

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --list, -l: 列出所有可用的 Python 版本
  • --min: 如果留空,则使用最低版本而不是最高版本进行安装

py#

管理已安装的 Python 解释器

可选参数:

  • -h, --help: 显示此帮助消息并退出。

命令:

list#

列出所有使用 PDM 安装的 Python 解释器

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

remove#

删除使用 PDM 安装的 Python 解释器

位置参数:

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

install#

用 PDM 安装 Python 解释器

位置参数:

  • version: 要安装的 Python 版本(例如 [email protected])。如果留空,将安装匹配此平台/架构的最高 cPython 版本。如果 pyproject.toml 与 requires-python 兼容,则考虑这一点。

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --list, -l: 列出所有可用的 Python 版本
  • --min: 如果留空,则使用最低版本而不是最高版本进行安装

remove#

从 pyproject.toml 中删除包

位置参数:

  • packages: 指定要删除的包

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --dry-run: 仅显示差异,不执行任何操作
  • -L, --lockfile: 指定其他锁定文件路径。 默认:pdm.lock。 [环境变量: PDM_LOCKFILE]
  • --override: 使用 pip-requirements 格式的约束文件进行覆盖。 [env var: PDM_OVERRIDE] 此选项可以多次使用。请参阅
  • --frozen-lockfile, --no-lock: 不要尝试创建或更新锁定文件。 [环境变量: PDM_FROZEN_LOCKFILE]
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • --venv NAME: 在给定键的虚拟环境中运行命令。 [环境变量: PDM_IN_VENV]
  • -d, --dev: 从开发依赖项中删除包
  • -G, --group: 指定要从中删除包的目标依赖项组
  • --no-sync: 只写pyproject.toml并取消安装包(默认:False

安装选项:

  • --no-editable: 为所有包安装不可编辑版本。 [环境变量:PDM_NO_EDITABLE]
  • --no-self: 不安装项目本身。 [环境变量:PDM_NO_SELF]
  • --fail-fast, -x: 在首次安装错误时中止
  • --no-isolation: 当构建遵循 PEP 517 的源分发时禁用隔离,即:如果使用此选项,则必须已安装 PEP 518 指定的构建依赖项。
  • --config-setting, -C: 将选项传递给构建器。 具有值的选项必须在“=”之后指定:--config-setting=key(=value)-Ckey(=value)

run#

以本地包加载运行命令或脚本

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • --venv NAME: 在给定键的虚拟环境中运行命令。 [环境变量: PDM_IN_VENV]
  • -l, --list: 显示pyproject.toml中定义的所有可用脚本
  • -j, --json: 将所有脚本信息输出为 JSON

执行参数:

  • -s, --site-packages: 从所选解释器中加载 site-packages
  • --recreate: 为自包含脚本重新创建脚本环境
  • script: 要运行的命令
  • args: 将传递给命令的参数

搜索 PyPI 包

位置参数:

  • query: 要搜索的查询字符串

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

self#

管理 PDM 本身(以前称为插件)

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

命令:

list#

列出所有使用 PDM 安装的包

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --plugins: 仅列出插件

add#

安装包到 PDM 的环境

位置参数:

  • packages: 指定一个或多个包名称,每个包都可以有一个版本规范符

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --pip-args: 将传递给 pip 安装的参数

remove#

从 PDM 的环境中删除包

位置参数:

  • packages: 指定一个或多个包名称

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --pip-args: 将传递给 pip 卸载的参数
  • -y, --yes: 在问题上回答“是”

update#

更新 PDM 本身

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --head: 更新到主分支的最新提交
  • --pre: 更新到最新的预发行版本
  • --pip-args: 将传递给 pip 安装的附加参数

plugin#

管理 PDM 本身(以前称为插件)

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

命令:

list#

列出所有使用 PDM 安装的包

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --plugins: 仅列出插件

add#

安装包到 PDM 的环境

位置参数:

  • packages: 指定一个或多个包名称,每个包都可以有一个版本规范符

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --pip-args: 将传递给 pip 安装的参数

remove#

从 PDM 的环境中删除包

位置参数:

  • packages: 指定一个或多个包名称

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --pip-args: 将传递给 pip 卸载的参数
  • -y, --yes: 在问题上回答“是”

update#

更新 PDM 本身

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • --head: 更新到主分支的最新提交
  • --pre: 更新到最新的预发行版本
  • --pip-args: 将传递给 pip 安装的附加参数

show#

显示包信息

位置参数:

  • package: 指定包名称,如果没有给出,则显示该包

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --venv NAME: 在给定键的虚拟环境中运行命令。 [环境变量: PDM_IN_VENV]
  • --name: 显示名称
  • --version: 显示版本
  • --summary: 显示摘要
  • --license: 显示许可证
  • --platform: 显示平台
  • --keywords: 显示关键字

sync#

将当前工作集与锁定文件同步

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --dry-run: 仅显示差异,不执行任何操作
  • -L, --lockfile: 指定其他锁定文件路径。 默认:pdm.lock。 [环境变量: PDM_LOCKFILE]
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • --clean: 清理不在锁定文件中的包
  • --only-keep, --clean-unselected: 只保留所选软件包
  • --venv NAME: 在给定键的虚拟环境中运行命令。 [环境变量: PDM_IN_VENV]
  • --reinstall: 强制重新安装现有依赖项

安装选项:

  • --no-editable: 为所有包安装不可编辑版本。 [环境变量:PDM_NO_EDITABLE]
  • --no-self: 不安装项目本身。 [环境变量:PDM_NO_SELF]
  • --fail-fast, -x: 在首次安装错误时中止
  • --no-isolation: 当构建遵循 PEP 517 的源分发时禁用隔离,即:如果使用此选项,则必须已安装 PEP 518 指定的构建依赖项。
  • --config-setting, -C: 将选项传递给构建器。 具有值的选项必须在“=”之后指定:--config-setting=key(=value)-Ckey(=value)

依赖选择:

  • -G, --group, --with GROUP: 以逗号分隔的选择可选依赖项组或开发依赖项(使用-d)。可以多次提供。使用:all包括同一物种下的所有组。
  • --without: 排除可选依赖项组或开发依赖项
  • --no-default: 不包括默认组的依赖项(默认:False
  • -d, --dev: 选择开发依赖项
  • --prod, --production: 取消选择开发依赖项(默认:True

update#

更新 pyproject.toml 中的包

更新策略:

  • --update-reuse: 如果可能,尝试更新已存在锁定文件中的已固定版本
  • --update-eager: 尝试递归更新包及其依赖项
  • --update-all: 更新所有依赖项和子依赖项
  • --update-reuse-installed: 如果可能,尝试更新已安装的包及其依赖项

保存策略:

  • --save-compatible: 保存兼容版本规范
  • --save-wildcard: 保存通配符版本规范
  • --save-exact: 保存精确版本规范
  • --save-minimum: 保存最小版本规范

位置参数:

  • packages: 如果给出包,则只更新它们

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -L, --lockfile: 指定其他锁定文件路径。 默认:pdm.lock。 [环境变量: PDM_LOCKFILE]
  • --frozen-lockfile, --no-lock: 不要尝试创建或更新锁定文件。 [环境变量: PDM_FROZEN_LOCKFILE]
  • --override: 使用 pip-requirements 格式的约束文件进行覆盖。 [env var: PDM_OVERRIDE] 此选项可以多次使用。请参阅
  • --pre, --prerelease: 允许预发布版本被固定
  • --stable: 默认情况下,只允许固定稳定版本 默认值: (True)
  • -u, --unconstrained: 忽略 pyproject.toml 中的版本约束,并使用新 ones 从解决结果覆盖
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • --venv NAME: 在给定键的虚拟环境中运行命令。 [环境变量: PDM_IN_VENV]
  • -t, --top: 仅更新pyproject.toml中列出的包
  • --dry-run, --outdated: 仅显示差异,而不修改锁定文件内容
  • --no-sync: 仅更新锁定文件而不同步包(默认:False

安装选项:

  • --no-editable: 为所有包安装不可编辑版本。 [环境变量:PDM_NO_EDITABLE]
  • --no-self: 不安装项目本身。 [环境变量:PDM_NO_SELF]
  • --fail-fast, -x: 在首次安装错误时中止
  • --no-isolation: 当构建遵循 PEP 517 的源分发时禁用隔离,即:如果使用此选项,则必须已安装 PEP 518 指定的构建依赖项。
  • --config-setting, -C: 将选项传递给构建器。 具有值的选项必须在“=”之后指定:--config-setting=key(=value)-Ckey(=value)

依赖选择:

  • -G, --group, --with GROUP: 以逗号分隔的选择可选依赖项组或开发依赖项(使用-d)。可以多次提供。使用:all包括同一物种下的所有组。
  • --without: 排除可选依赖项组或开发依赖项
  • --no-default: 不包括默认组的依赖项(默认:False
  • -d, --dev: 选择开发依赖项
  • --prod, --production: 取消选择开发依赖项

use#

  • --python: 指定 Python 版本或路径作为基础解释器。如果找不到,PDM 将尝试安装一个。

位置参数:

  • python: 指定 Python 版本或路径

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -g, --global: 使用全局项目,使用 -p 选项指定项目根目录
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • -k, --skip: 通过逗号分隔的名称跳过某些任务和/或钩子。可以多次提供。使用:all跳过所有钩子。使用:pre:post跳过所有预或后钩子。
  • -f, --first: 选择匹配的第一个解释器 - 无自动安装
  • --auto-install-min: 如果未指定 python 参数,则自动安装最小匹配项 - 否则无效
  • --auto-install-max: 如果未指定 python 参数,则自动安装最大匹配项 - 否则无效
  • -i, --ignore-remembered: 忽略记住的选择
  • --venv: 使用给定名称的虚拟环境中的解释器

venv#

虚拟环境管理

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -p, --project: 指定其他路径作为项目根目录,该路径更改 pyproject.toml__pypackages__ 的基目录。 [环境变量: PDM_PROJECT]
  • --path: 显示给定虚拟环境的路径
  • --python: 显示给定虚拟环境的 Python 解释器路径

命令:

create#

创建虚拟环境

位置参数:

  • python: 指定应用于创建虚拟环境的 Python
  • venv_args: 将传递给后端的附加参数

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -w, --with: 指定用于创建虚拟环境的后端
  • -f, --force: 如果虚拟环境已存在,则重新创建
  • -n, --name: 指定虚拟环境的名称
  • --with-pip: 与虚拟环境一起安装 pip

list#

列出与此项目关联的所有虚拟环境

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

remove#

删除具有给定名称的虚拟环境

位置参数:

  • env: 虚拟环境的键

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -y, --yes: 在以下问题上回答 Yes

activate#

打印用于激活具有给定名称的虚拟环境的命令

位置参数:

  • env: 虚拟环境的键

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出

purge#

清除所选/所有创建的虚拟环境

可选参数:

  • -h, --help: 显示此帮助消息并退出。
  • -v, --verbose: 使用 -v 显示详细输出,-vv 显示更详细的输出
  • -q, --quiet: 不显示任何输出
  • -f, --force: 强制清除而不需要确认
  • -i, --interactive: 以交互方式清除选定的 Virtualenvs