poetry安装与使用

news2025/3/22 13:21:58

文章目录

  • 安装方法
  • 创建虚拟环境
  • 其他常用命令
  • 从 poetry.lock 中安装第三方依赖包


安装方法

  1. 安装命令(全局安装,不要在虚拟环境中安装,方便后面创建环境使用)

    pip install poetry
    
  2. 修改虚拟环境路径(首次使用poetry时执行,修改全局配置文件
    poetry默认虚拟环境创建在系统目录,这里我们修改配置,将默认虚拟环境创建在项目目录

    poetry config virtualenvs.in-project true
    

创建虚拟环境

进入项目跟目录,如果项目下有不是poetry创建的env目录,就先删了

  1. 初始化poetry

    poerty init
    

    一路回车就行(有个作者名称要输一下)
    搞完后项目跟目录下会生成一个 pyproject.toml 文件,记录虚拟环境项目信息

  2. 创建虚拟环境

    poetry env use python
    

    生成poetry的env目录
    在这里插入图片描述

  3. pycharm配置poetry环境
    在这里插入图片描述

  4. 随便安装一个第三方包(在项目跟目录下不用进到虚拟环境也可以把包安装到虚拟环境中

    poetry add requests
    

    安装第三方包后会生成一个poetry.lock记录第三方包的依赖关系(这个文件不用管)
    在这里插入图片描述


其他常用命令

  • 查看虚拟环境下已安装的所有包
    poetry show
    
  • 安装第三方包
    poetry add 包名
    
  • 安装第三方包(仅在开发环境)
    poetry add 包名 --group dev
    
  • 卸载第三方包
    poetry remove 包名
    
  • 创建虚拟环境
    poetry env use python
    
  • 删除虚拟环境
    poetry env remove python
    
  • 查看poetry全局配置文件
    poetry config --list
    
  • 修改全局配置文件
    poetry config 字段名 字段值 
    
  • 进入虚拟环境
    .\.venv\Scripts\activate
    
  • 退出虚拟环境
    deactivate
    
  • 导出 requirements.txt 用于docker部署
    poetry export -f requirements.txt -o requirements.txt --without-hashes
    
    –without-hashes 去掉哈希加密字段,否则线上安装依赖时可能会报错

从 poetry.lock 中安装第三方依赖包

如果从远端仓库上拉取别人的代码就会出现这种情况,需要从 poetry.lock 中安装第三方依赖包

  1. 首先创建虚拟环境,参考本文上述创建虚拟环境的步骤,但第1步不要执行,因为别人项目下应该是有 pyproject.toml 的,不需要再生成了
  2. 执行命令安装 poetry.lock 中的以来
    poetry install
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2319587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UVM config机制及uvm_resource_pool

目录 1. uvm_config_db 类源码 1.1 set 1.2 get 2. uvm_resource_pool 2.1 uvm_resource_pool::set 2.2 uvm_resource 3. usage 4. 小结 uvm提供一种uvm_config_db机制使得在仿真中通过变量设置来修改环境,使环境更加灵活。本文主要介绍uvm_config_db#(type)::get/set…

JAVA学习*接口

接口 在生活中我们常听说USB接口,那接口是什么呢? 在Java中,接口相当于多个类的一种公共规范,是一种引用数据类型。 定义接口 public interface IUSB {public static final String SIZE "small";public abstract vo…

Python实验:读写文本文件并添加行号

[实验目的] 熟练掌握内置函数open()的用法;熟练运用内置函数len()、max()、和enumerate();熟练运用字符串的strip()、ljust()和其它方法;熟练运用列表推导式。 [实验和内容] 1.编写一个程序demo.py,要求运行该程序后&#xff0…

IDEA导入jar包后提示无法解析jar包中的类,比如无法解析符号 ‘log4j‘

IDEA导入jar包后提示无法解析jar包中的类 问题描述解决方法 问题描述 IDEA导入jar包的Maven坐标后,使用jar中的类比如log4j,仍然提示比如无法解析符号 log4j。 解决方法 在添加了依赖和配置文件后,确保刷新你的IDE项目和任何缓存&#xff…

数据结构——顺序栈seq_stack

前言:大家好😍,本文主要介绍了数据结构——顺序栈 目录 一、概念 1.1 顺序栈的基本概念 1.2 顺序栈的存储结构 二、基本操作 2.1 结构体定义 2.2 初始化 2.3 判空 2.4 判满 2.5 扩容 2.6 插入 入栈 2.7 删除 出栈 2.8 获取栈顶元…

python3.13.2安装详细步骤(附安装包)

文章目录 前言一、python3.13.2下载二、python3.13.2安装详细步骤1.查看安装文件2.启动安装程序3.安装模式选择4.自定义安装配置5.高级选项设置6.执行安装7.开始安装8.安装完成8.打开软件9.安装验证 前言 在数字化时代,Python 已成为不可或缺的编程语言。无论是开发…

AI-Talk开发板之更换串口引脚

一、默认引脚 CSK6011A使用UART0作为Debug uart,AI-Talk开发板默认使用的GPIOA2和GPIOA3作为Debug uart的RX和TX,通过连接器CN6引出。 二 、更换到其它引脚 查看60xx_iomux_v1.0可以,UART0的tx和rx可以映射到很多管脚上。 结合AI-Talk开发板…

深度解读DeepSeek:源码解读 DeepSeek-V3

深度解读DeepSeek:开源周(Open Source Week)技术解读 深度解读DeepSeek:源码解读 DeepSeek-V3 深度解读DeepSeek:技术原理 深度解读DeepSeek:发展历程 文章目录 整体流程模型初始化模型前向传播MoE https:/…

JavaIO流的使用和修饰器模式(直击心灵版)

系列文章目录 JavaIO流的使用和修饰器模式 文章目录 系列文章目录前言一、字节流: 1.FileInputStream(读取文件)2.FileOutputStream(写入文件) 二、字符流: 1..基础字符流:2.处理流:3.对象处理流:4.转换流: 三、修饰器…

爬虫入门re+bs4

目录 前言 1. 导入必要的库 2. 定义获取网页HTML内容的函数 get_html 3. 定义获取数据的函数 get_data 4. 定义获取文章正文内容的函数 content_text 5. 定义获取单条课程数据的函数 get_one_course_data 6. 定义保存数据的函数 save_data 7. 定义文件名合法化处理函数 sanitiz…

MySQL身份验证的auth_socket插件

在Ubuntu 20.04 LTS上,MySQL 8.0默认使用auth_socket插件进行身份验证,可能存在意想不到的情况。 一、auth_socket插件 在使用sudo mysql或通过sudo切换用户后执行任何MySQL命令时,不需要输入密码或错误密码都可以正常登入mysql数据库&…

使用Gitee Go流水线部署个人项目到服务器指南

使用Gitee Go流水线部署个人项目到服务器指南 前言!!! 本文解决的问题: 你有一台ECS服务器,你在上面部署了一个Java服务也就是一个jar,你觉着你每次手动本地打包,上传,在通过命令去…

BlockChain.java

BlockChain 区块链,举个栗子 注意啦,列子里面的hashcode相等,但是字符串是不一样的哦,之前有记录这个问题 String.hashCode()-CSDN博客

【技术简析】触觉智能RK3506 Linux星闪网关开发板:重新定义工业物联新标杆

在工业智能化与物联网深度融合的今天,深圳触觉智能推出首款搭载瑞芯微RK3506芯片的Linux星闪网关开发板,为大家技术解析。 RK3506-国产芯的硬核实力 作为瑞芯微2024年第四季度推出的入门级工业芯片平台,RK3506以三核Cortex-A7(1.…

YOLO-UniOW: 高效通用开放世界目标检测模型【附论文与源码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

面向对象(进阶)(‘封装‘,‘多态‘,‘对象属性‘,‘类属性‘,‘类方法‘,‘对象方法‘及其应用场景)

‘封装’,多态’及其应用场景 一, 封装及其应用场景 封装的定义 属于面向对象的三大特征之一, 就是隐藏对象的属性和现实细节, 仅对外提供公共的访问方式.(我们学的 函数, 类, 都是封装的体现). 封装的格式 __属性名 __属性名()封装的好处和弊端 好处 提高代码的安全性.…

算法模型从入门到起飞系列——广度优先遍历(BFS)

文章目录 前言一、广度优先遍历(BFS)简介1.1 广度优先遍历(BFS)的特点1.2 广度优先遍历(BFS)的要素 二、广度优先遍历(BFS)& 深度优先遍历(DFS)2.1 广度优…

<项目> 主从Reactor模型的高并发服务器

目录 Reactor 概念 分类 单Reactor单线程 单Reactor多线程 多Reactor多线程 项目介绍 项目规划 模块关系 实现 TimerWheel -- 时间轮定时器 定时器系统调用 时间轮设计 通用类型Any Buffer Socket Channel Poller EventLoop(核心) eventfd 设计思路 …

注意力机制,本质上是在做什么?

本文以自注意机制为例,输入一个4*4的矩阵 如下: input_datatorch.tensor([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16] ],dtypetorch.float) 得到Q和K的转置如下。 此时,计算QK^T ,得到如下结果 第一行第一个位置就是第一条样本和第…

使用Python在Word中创建、读取和删除列表 - 详解

目录 工具与设置 Python在Word中创建列表 使用默认样式创建有序(编号)列表 使用默认样式创建无序(项目符号)列表 创建多级列表 使用自定义样式创建列表 Python读取Word中的列表 Python从Word中删除列表 在Word中&#xff…