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 将在依赖项解析后创建一个

--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 文件

oetry update

指定依赖项进行更新

poetry update requests toml

options

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

add

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

指定版本

poetry add pendulum@^2.0.5
poetry 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#develop
poetry 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.gz
poetry 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.cnblogs.com/poloyy/p/15269573.html

Python - poetry(2)命令介绍的更多相关文章

  1. python中sort命令介绍以及list结构中统计各元素出现的个数的方法

  2. python 调用 bash (python 调用linux命令)

    原文这里有显示地址:http://zhou123.blog.51cto.com/4355617/1312791 现在摘取一部分: 这里介绍一下python执行shell命令的四种方法: 1.os模块中 ...

  3. Python 基于python操纵redis入门介绍

    基于python操纵redis入门介绍 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3.3.2 基于Python操作R ...

  4. python shutil模块简单介绍

    python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...

  5. 【Ansible 文档】【译文】Ad-Hoc 命令介绍

    Introduction To Ad-Hoc Commands Ad-Hoc命令介绍 下面的例子展示了如何使用 /usr/bin/ansible 来运行ad hoc任务. 什么是ad hoc命令? 一 ...

  6. Python -- Scrapy 框架简单介绍(Scrapy 安装及项目创建)

    Python -- Scrapy 框架简单介绍 最近在学习python 爬虫,先后了解学习urllib.urllib2.requests等,后来发现爬虫也有很多框架,而推荐学习最多就是Scrapy框架 ...

  7. Python的标准库介绍与常用的第三方库

    Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...

  8. Linux操作系统安全-OpenSSL工具常用命令介绍

    Linux操作系统安全-OpenSSL工具常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OpenSSL开源项目有三个组件 openssl: 多用途的命令行工具,包 ...

  9. Python argparse 处理命令行小结

    Python argparse 处理命令行小结 1. 关于argparse是python的一个命令行解析包,主要用于处理命令行参数 2. 基本用法test.py是测试文件,其内容如下: import ...

  10. 【转载】Stackless Python并发式编程介绍[已校对版]

    Stackless Python并发式编程介绍[已校对版] 作者:    Grant Olson 电子邮件:    olsongt@verizon.net 日期:    2006-07-07 译者:  ...

随机推荐

  1. awk-08-综合例子

    分析nginx日志 1.统计访问IP次数 2.统计访问IP大于10次的 3.统计访问IP次数,并取出前几的访问数 4.统计时间段访问最多的IP 5.统计访问最多的10个页面 6.统计每个 URL 数量 ...

  2. MySQL-02-体系结构

    MySQL体系结构 c/s模型介绍 连接MySQL # TCP/IP方式(远程.本地) mysql -uroot -pAlnk123 -h 10.0.0.51 -P3306 # Socket方式(仅本 ...

  3. S3C2440—6.串口的printf实现

    文章目录 一.框架 二.printf函数原理 2.1 printf的声明 2.2 参数解读 2.3 如何得到可变参数的值 2.4 解决变参的宏定义 2.5 完成printf函数的封装 三.结合UART ...

  4. MATLAB—信号与系统中的应用

    文章目录 一. 理论知识 1.线性系统的响应 2.微分方程的解 Ⅰ.经典解 Ⅱ.完全响应 3.零输入响应 4.零状态响应 5.冲激响应 6.阶跃响应 7.卷积求零状态响应 二.连续信号的MATLAB描 ...

  5. SQL 练习25

    查询同名学生名单,并统计同名人数 SELECT sname,COUNT(sname) 同名人数 from Student GROUP BY sname HAVING COUNT(sname)>1

  6. noip9

    T1 本次考试最水的一道题,然而我sb,前一个小时,找了一大堆跟题目无关的性质,干脆打了个20pts的表,然后就走了,最后几分钟才看出来,匆匆码出来,结果段错误,然后考试就结束了. 好吧,段错误是UB ...

  7. NOIP 模拟 6 宝藏

    题目 题解 这道题是 \(NOIP\;\;2017\) 的原题 ,让我见识到了什么是真正的 \(dfs\) 考场上想出来要状压了,\(n\) 那么小,肯定是压 \(n\) 那一位,然后层第转移,但是想 ...

  8. flutter添加启动图及设置启动时间

    首先贴个官方的设置方法,看这里:https://flutterchina.club/assets-and-images/#%E6%9B%B4%E6%96%B0%E5%90%AF%E5%8A%A8%E9 ...

  9. RabbitMQ 的使用

    MiaoshaMessage  类 ---------------------------------------------------------------- import com.imooc. ...

  10. C++继承体系中的内存分段

    ---------------综述与目录-------------- 讨论这个问题之前我们先明确类的结构,一个类的大概组成,下面的很多分类名词都是我个人杜撰,为的就是让读者看懂能够区分,下面分别分类: ...