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 将在依赖项解析后创建一个
--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)命令介绍的更多相关文章
- python中sort命令介绍以及list结构中统计各元素出现的个数的方法
- python 调用 bash (python 调用linux命令)
原文这里有显示地址:http://zhou123.blog.51cto.com/4355617/1312791 现在摘取一部分: 这里介绍一下python执行shell命令的四种方法: 1.os模块中 ...
- Python 基于python操纵redis入门介绍
基于python操纵redis入门介绍 by:授客 QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3.3.2 基于Python操作R ...
- python shutil模块简单介绍
python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...
- 【Ansible 文档】【译文】Ad-Hoc 命令介绍
Introduction To Ad-Hoc Commands Ad-Hoc命令介绍 下面的例子展示了如何使用 /usr/bin/ansible 来运行ad hoc任务. 什么是ad hoc命令? 一 ...
- Python -- Scrapy 框架简单介绍(Scrapy 安装及项目创建)
Python -- Scrapy 框架简单介绍 最近在学习python 爬虫,先后了解学习urllib.urllib2.requests等,后来发现爬虫也有很多框架,而推荐学习最多就是Scrapy框架 ...
- Python的标准库介绍与常用的第三方库
Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...
- Linux操作系统安全-OpenSSL工具常用命令介绍
Linux操作系统安全-OpenSSL工具常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OpenSSL开源项目有三个组件 openssl: 多用途的命令行工具,包 ...
- Python argparse 处理命令行小结
Python argparse 处理命令行小结 1. 关于argparse是python的一个命令行解析包,主要用于处理命令行参数 2. 基本用法test.py是测试文件,其内容如下: import ...
- 【转载】Stackless Python并发式编程介绍[已校对版]
Stackless Python并发式编程介绍[已校对版] 作者: Grant Olson 电子邮件: olsongt@verizon.net 日期: 2006-07-07 译者: ...
随机推荐
- VMware 安装 Centos 7 虚拟机配置网络
在 Windows 机器上如果想使用 Linux 环境,最方便的方式莫过于使用虚拟机,最常用的软件各位肯定也不陌生,大名鼎鼎的 VMware . 不过这玩意有点稍稍不是那么智能,每次安装 Linux ...
- Java知识复习回顾
1.MVC 三层架构: M:Model 数据模型层 V:View 视图层 C:Controller控制器层 目的:解耦 2.Spring Spring:轻量级的Java开源框架,容器,目的是解决企业级 ...
- Kafka原理笔记
1.什么是kafka? Kafka是一种分布式的,基于发布/订阅的消息系统(消息队列). 2.为什么要用kafka? 当业务逻辑变得复杂,数据量也会越来越多.此时可能需要增加多条数据线,每条数据线将收 ...
- [SQL]修改和删除基本表
修改基本表 SQL语言用alter table语句修改基本表,其一般格式如下: alter table <表名> add <列名> <数据类型> [<列级完整 ...
- Spring IOC容器核心流程源码分析
简单介绍 Spring IOC的核心方法就在于refresh方法,这个方法里面完成了Spring的初始化.准备bean.实例化bean和扩展功能的实现. 这个方法的作用是什么? 它是如何完成这些功能的 ...
- SpringBoot开发二十二-统一处理异常
需求介绍 首先服务端分为三层:表现层,业务层,数据层. 请求过来先到表现层,表现层调用业务层,然后业务层调用数据层. 那么数据层出现异常它会抛出异常,那异常肯定是抛给调用者也就是业务层,那么业务层会再 ...
- Java之Listener
Java之Listener Listener监听器 监听器有很多种,大部分还是在GUI用的比较多,这里简单记录一点关于HttpSessionListener的 统计session count List ...
- VLAN-1 基础配置及access接口
一.实验拓扑图 二.实验编制 三.实验步骤 1.给对应的PC设置对应的IP和掩码还有接口,以及根据需要划分不同的vlan区域,再用文本标记出不同部门. 2.启动设备(全选) 3.首先用ping命令检查 ...
- flutter添加启动图及设置启动时间
首先贴个官方的设置方法,看这里:https://flutterchina.club/assets-and-images/#%E6%9B%B4%E6%96%B0%E5%90%AF%E5%8A%A8%E9 ...
- open62541(opcua)传输延迟探索小记
缘起 将open62541作为中间件使用代替自定义数据的RPC,client通过订阅valueChange来接收数据.使用时发现有一些问题: 前后两次产生的数据相同时,不会触发valueChange ...