poetry和poet_什么是poetry

poetry和poet_什么是poetryPoetry的基本使用准备工作如果你是在一个已有的项目里使用Poetry,你只需要执行poetryinit命令来创建一个pyproject.toml文件:poetryinit可看到

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Poetry的基本使用

 

准备工作

如果你是在一个已有的项目里使用Poetry,你只需要执行 poetry init 命令来创建一个 pyproject.toml 文件:

poetry init

可看到有很多提示输入,不确定的内容就先按下Enter使用默认值,后续可以再修改pyproject.toml文件。指定依赖的环节可以跳过,手动安装会更高效一点。
 

如果你想创建一个新的 Python 项目,使用 poetry new <文件夹名称> 命令可以创建一个项目模板:

poetry new poetry-demo

这会创建一个这样的项目结构:

poetry-demo
├── pyproject.toml
├── README.rst
├── poetry_demo
│   └── __init__.py
└── tests
    ├── __init__.py
    └── test_poetry_demo.py

 

创建虚拟环境

1.使用 poetry install 命令创建虚拟环境(确保当前目录有 pyproject.toml 文件):

poetry install

这个命令会读取 pyproject.toml 中的所有依赖(包括开发依赖)并安装,如果不想安装开发依赖,可以附加 --no-dev 选项。如果项目根目录有 poetry.lock 文件,会安装这个文件中列出的锁定版本的依赖。
 

2.使用poetry add命令创建虚拟环境

poetry add 依赖包名称

当我们使用add命令时,没有检测到虚拟环境,也会为当前目录自动创建虚拟环境。
 

3.利用 poetry env use 创建
这个命令,可以指定创建虚拟环境时使用的Python解释器版本。

poetry env use python3.7

使用这个命令后,会在虚拟环境路径下创建一个envs.toml文件,用来存储哪些虚拟环境指定了Python解释器的版本。

➜  virtualenvs cat envs.toml 
[athena-LtyjKFV4]
minor = "3.7"
patch = "3.7.6"

 

激活虚拟环境

执行poetry的命令并不需要激活虚拟环境,因为poetry会自动检测当前虚拟环境,如果想在当前目录对应的虚拟环境中执行命令,可以使用以下命令:

poetry run <你的命令> # 例如: poetry run python flask.py

如果想显示的激活虚拟环境,使用如下命令:

poetry shell

 

安装依赖

安装最新稳定版本的flask

poetry add flask

指定为开发依赖,会写到pyproject.toml中的[tool.poetry.dev-dependencies]区域

poetry add pytest --dev

指定具体的版本

poetry add flask=2.22.0

安装pyproject.toml文件中的全部依赖

poetry install

只安装非development环境的依赖,一般部署时使用

poetry install --no-dev

 

追踪 & 更新包

查看项目安装的依赖

poetry show

树形结构查看项目安装的依赖

poetry show -t

查看可以更新的依赖

poetry update

更新所有锁定版本的依赖

poetry update

如果你想更新某个指定的依赖,传递包名作为参数:

poetry update foo

 

卸载包

使用 poetry remove <包名称>卸载一个包:

poetry remove foo

 

查找当前项目的虚拟环境

使用poetry env list可以查看当前的虚拟环境

poetry env list

如果想查看当期虚拟环境的绝对路径,可以加上--full-path

poetry env list --full-path

 

删除虚拟环境路径

删除虚拟环境,使用remove命令,指定对应的解析器版本

poetry env remove python2 
poetry env remove python3

 

PyPI 镜像源

以使用清华提供的 PyPI 镜像源为例,你需要在 pyproject.toml 文件里加入这部分内容:

[[tool.poetry.source]]
name = "tsinghua"
default = true
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164827.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Laravel实现找回密码及密码重置的例子

    Laravel实现找回密码及密码重置的例子

    2021年10月24日
    48
  • ‘hibernate.dialect’ must be set when no Connection avalable’

    ‘hibernate.dialect’ must be set when no Connection avalable’

    2021年9月10日
    49
  • 数据库三大范式通俗解释[通俗易懂]

    数据库三大范式通俗解释[通俗易懂]一范式就是属性不可分割。属性是什么?就是表中的字段。不可分割的意思就按字面理解就是最小单位,不能再分成更小单位了。这个字段只能是一个值,不能被拆分成多个字段,否则的话,它就是可分割的,就不符合一范式。不过能不能分割并没有绝对的答案,看需求,也就是看你的设计目标而定。举例:学生信息组成学生信息表,有姓名、年龄、性别、学号等信息组成。姓名不可拆分吧?所以可以作为该表的一个字段。但我要说这…

    2022年10月27日
    0
  • 在线发送免费传真(五个网上免费发传真网站介绍)

    在线发送免费传真(五个网上免费发传真网站介绍)首先我们看到的是免费网络传真:faxZERO  官方网址是:http://faxzero.com/  这个免费传真适用于美国和加拿大,发送的传真上会自动附上广告,每次发传真只能发三页,也每天只可以发两次。  faxZERO无需你拥有一台传真机,也不需要注册用户即可在线发送免费网络传真,每天可发送2个免费网络传真,每个免费网络传真最多可发3个页面,支持.DOC(Word)和.

    2022年6月28日
    134
  • Mysql 主从复制 作用和原理

    Mysql 主从复制 作用和原理一、什么是主从复制?主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库。您看,像在mysql数据库中,支持单项、异步赋值。在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器。此时主服务器会将更新信息写入到一个特定的二进制文件中。并会维护文件的一个索引用来跟踪日志循环。这个日志可以记录并发送到从服务器的更新中去。当一台从服务器连…

    2022年4月19日
    38
  • PriorityQueue源码分析

    PriorityQueue源码分析来源:Java编程的逻辑1前导将新的头部与两个孩子节点中较小的比较,如果不大于该孩子节点,则满足堆的性质,结束,否则与较小的孩子进行交换,交换后,再与较小的孩子比较和交换,一直到没有孩子,或者不大于两个孩子节点。这个过程我们般称为siftdown与父节点比较,如果大于等于父节点,则满足堆的性质,结束,否则与父节点进行交换,然后再与父节点比较和交换,直到父节点为空或者大于等于父节点;称之为…

    2022年6月8日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号