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. DevOps基础的认识与工具实践

    什么是DevOps DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快.更频繁地交付更稳定的软件 Devops 包含了敏捷开发,测试,运维 DevO ...

  2. Linux守护进程及Systemd

    当我们启动一个前台任务后,命令行窗口退出,应用也就一起退出,无法访问了.怎么才能让它变成系统的守护进程(daemon),成为一种服务(service),一直在那里运行呢? 守护进程 前台任务和后台任务 ...

  3. 一个遵循CleanArchitecture原则的Asp.net core轻量级开源项目

    这是一个基于最新的ASP.net core 5.0创建Razor Page应用程序解决方案模板.遵循Clean Architecture的原则,以最求简洁的代码风格和实现快速开发小型的web业务系统的 ...

  4. Golang语言系列-03-流程控制语句

    Go语言流程控制语句 Go语言中最常用的流程控制语句有 if 和 for ,没有像Python中的while语句.另外,Go语言还有switch和goto语句,不过这两个主要是用来简化代码的,属于扩展 ...

  5. SSM自学笔记(四)

    8.面向切面编程AOP 1.Spring 的 AOP 简介 1.1 什么是 AOP AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运 ...

  6. taro小程序地址选择组件

    效果图: address_picker.tsx: import Taro, { Component } from '@tarojs/taro' import { View, PickerView, P ...

  7. Hibernate5 入门之SessionFactory对象的创建

    hibernate5创建SessionFactory不同于hibernate4和hibernate3,下面是代码示例. package top.scorpion.util; import org.hi ...

  8. jQuery中ajax请求的六种方法(三、六):load()方法

    6.load()方法 load的html页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...

  9. Flink中的算子操作

    一.Connect DataStream,DataStream ->  ConnectedStream,连接两个保持他们类型的数据流,两个数据流被Connect之后,只是被放在了同一个流中,内部 ...

  10. spring之自定义注解

    java.lang.annotation提供了四种元注解,专门注解其他的注解: @Target –注解用于什么地方,默认值为任何元素,表示该注解用于什么地方.可用的ElementType指定参数 ,也 ...