AI智能
改变未来

Python – poetry(2)命令介绍


poetry 语法格式

poetry [-h] [-q] [-v[<...>]] [-V] [--ansi] [--no-ansi] [-n] <command> [<arg1>] ... [<argN>]

全局 options

  • –verbose (-v|vv|vvv):增加消息的详细程度:“-v”表示正常输出,“-vv”表示更详细的输出,“-vvv”表示调试
  • –help (-h):帮助文档
  • –quiet (-q):静默模式,不输出任何内容
  • –ansi:强制 ANSI 输出
  • –no-ansi:禁用 ANSI 输出
  • –version (-V):版本号

new

通过创建适合大多数项目的目录结构来启动新的Python项目

poetry new my-package

my-package 是路径

默认目录结构

my-package├── pyproject.toml├── README.rst├── my_package│   └── __init__.py└── tests├── __init__.py└── test_my_package.py

自定义项目名称

poetry new my-folder --name my-package

使用 src 目录

poetry new --src my-package

目录结构

my-package├── pyproject.toml├── README.rst├── src│   └── my_package│       └── __init__.py└── tests├── __init__.py└── test_my_package.py

init

如果想在已存在的 Python 项目使用 poetry,可以用 init 命令,poetry 会以交互方式创建 pyproject.toml 文件

poetry init

我是一只回车没有自己输入东西的

options

  • –name:包的名称
  • –description:包的描述
  • –author:包的作者
  • –python:兼容的 Python 版本
  • –dependency:需要具有版本约束的包,格式foo:1.0.0
  • –dev-dependency:开发需求

生成 pyproject 已有的字段 和 options 是可以对齐的

install

从当前项目读取 pyproject.toml 文件,解析依赖项[tool.poetry.dependencies]并安装它们

poetry install
  • 如果当前目录中有 poetry.lock 文件,它将使用其中的确切版本,而不是解析它们,这确保使用库的每个人都将获得相同版本的依赖项
  • 如果没有 poetry.lock 文件,poetry 将在依赖项解析后创建一个

重点

默认会安装[tool.poetry.dependencies]和[tool.poetry.dev-dependencies]下所有强制安装的(不带 optional)依赖项

–no-dev

不安装开发依赖项[tool.poetry.dev-dependencies]

poetry install --no-dev

–remove-untracked

移除 poetry.lock 文件中不再存在的旧依赖项

poetry install --remove-untracked

-E|–extras

指定安装的包

–no-root

不要安装根目录包

update

获取所有依赖项的最新版本并更新 poetry.lock 文件

poetry update

指定依赖项进行更新

poetry update requests toml

options

  • –dry-run :输出操作,但不执行操作
  • –no-dev : 不安装开发依赖项
  • –lock:不执行安装,仅更新 poetry.lock 文件

add

  • 将所需要的包添加到 pyproject.toml 的[tool.poetry.dependencies]下面,并安装他们
  • 未指定版本的话,则 poetry 会自动选择合适的版本
poetry add requests pendulum

注意

默认不会将包添加到[tool.poetry.dev-dependencies]下,若需要得用 –dev 参数

指定版本

poetry add pendulum@^2.0.5poetry add \"pendulum>=2.0.5\"

获取最新的版本

poetry add pendulum@latest

添加 github 依赖项

poetry add git+https://github.com/sdispater/pendulum.git

添加 github 依赖项,指定分支

poetry add git+https://github.com/sdispater/pendulum.git#developpoetry add git+https://github.com/sdispater/pendulum.git#2.0.5

通过本地目录、文件进行安装

poetry add ./my-package/poetry add ../my-package/dist/my-package-0.1.0.tar.gzpoetry add ../my-package/dist/my_package-0.1.0.whl

以可编辑模式安装依赖项

在 pyproject.toml 文件指定,意味着本地目录中的更改会直接反映在环境中

[tool.poetry.dependencies]my-package = {path = \"../my/path\", develop = true}

options

  • –dev (-D):将包添加为开发依赖项
  • –path:指定依赖项的路径
  • –optional:作为可选依赖项添加
  • –dry-run:输出操作,不执行任何操作
  • –lock:不执行安装,仅更新 poetry.lock 文件

remove

从已安装包列表删除指定包

poetry remove pendulum

options

  • –dev(-D):从开发依赖项中删除包
  • –dry-run:输出操作,不执行任何操作

show

根据 poetry.lock 列出所有可用的软件包,并不是根据 pyproject.toml 文件的[tool.poetry.dependencies]

poetry show

查看某个包的详细信息

poetry show fastapi

options

  • –no-dev:不要列出开发依赖项

  • –tree:树的形式列出依赖项

  • –latest (-l):显示最新版本

  • –outdated (-o):显示最新版本,但仅适用于过时的软件包

run

在项目的 virtualenv 中执行指定的命令

poetry run python -V

还可以执行 pyproject.toml 中定义的脚本

[tool.poetry.scripts]my_script = \"my_module:main\"

执行

poetry run my_script

shell

显式激活当前虚拟环境,会自动调用虚拟环境下的激活命令

如果不存在虚拟环境,会自动创建一个

check

验证 pyproject.toml 文件的结构,并在出现任何错误时返回详细报告

poetry check

search

在远程库上搜索包

poetry search requests

lock

将所有依赖项锁定为最新的可用兼容版本

poetry lock

version

显示项目的当前版本

是 pyproject.toml 文件的 version 哦

export

将锁文件导出为其他格式

poetry export -f requirements.txt --output requirements.txt

options

  • –format (-f):要导出的格式(默认值:requirements.txt)目前,仅支持requirements.txt
  • –output (-o):输出文件的名称,如果省略,则打印到标准输出
  • –dev(-D):从开发依赖项中删除包
  • –extras (-E):要包含的额外依赖项集
  • –without-hashes:从导出的文件中排除散列
  • –with-credentials:包括用于额外索引的凭据

env

管理虚拟环境,具体教程看:https://www.cnblogs.com/poloyy/p/15270670.html

cache

与 poetry 缓存交互

cache list

列出 poetry 的可用缓存

build

生成源文件

publish

将使用 build 命令生成的包发布到远程存储库

options

  • –repository (-r):要将包注册到的存储库(默认值:pypi)应与config命令设置的存储库名称匹配
  • –username (-u):访问存储库的用户名
  • –password (-p):访问存储库的密码
  • –dry-run:执行除上传包以外的所有操作

config

编辑 poetry 配置项,具体可看:https://www.geek-share.com/detail/2842674560.html

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Python – poetry(2)命令介绍