当前位置: 首页 > news >正文

poetry安装与使用

文章目录

  • 安装方法
  • 虚拟环境构建方法
    • * 创建新虚拟环境【新环境使用】
    • * 使用仓库拉取的代码构建虚拟环境【远端仓库拉取使用】
  • 常用命令
  • 注意事项


安装方法

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

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

    poetry config virtualenvs.in-project true
    

虚拟环境构建方法

包括两种:

  1. 创建新虚拟环境
  2. 使用仓库拉取的代码构建虚拟环境

* 创建新虚拟环境【新环境使用】

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

  1. 初始化poetry,创建 pyproject.toml 文件(该文件用于记录虚拟环境的相关信息)

    poetry init
    

    一路回车就行(有个作者名称要输一下)

  2. 创建虚拟环境

    poetry env use python3
    

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

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


* 使用仓库拉取的代码构建虚拟环境【远端仓库拉取使用】

如果从远端仓库上拉取的代码,需要从 pyproject.toml 中安装第三方依赖包
在这里插入图片描述

  1. 首先创建虚拟环境,参考本文上述 创建新虚拟环境【新环境使用】 中的第2步和第3步,但第1步不要执行,因为别人项目下已经有 pyproject.toml 了,不需要再生成了
  2. 执行命令安装 pyproject.toml 中的依赖
    poetry install
    

常用命令

  • 查看虚拟环境下已安装的所有包
    poetry show
    
  • 安装第三方包
    poetry add 包名
    
  • 安装第三方包(仅在开发环境)
    poetry add 包名 --group dev
    
  • 卸载第三方包
    poetry remove 包名
    
  • 创建虚拟环境
    poetry env use python3
    
  • 删除虚拟环境
    poetry env remove python3
    
  • 查看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 add 安装第三方包的时候,只要在项目根目录下执行命令,不用进到虚拟环境也可以把包安装到虚拟环境中
  • 安装第三方包后会生成一个poetry.lock记录第三方包的依赖关系(这个文件不用管,是由poetry自行管理的依赖)
  • 部署上线时不使用 poetry,一般不在 docker 中使用虚拟环境,而是将 poetry 虚拟环境中的包依赖导出到 requirements.txt,在 Dockerfile 中执行 RUN pip install -r requirements.txt

http://www.mrgr.cn/news/95793.html

相关文章:

  • 华为交换相关
  • vmwaretools解压失败|vmware tools distrib cannot mkdir read only file system|bug汇总
  • Linux 练习一 NFS和DNS
  • Floyd 算法--多源最短路
  • 利用dify打造命令行助手
  • Spring Boot整合Activiti工作流详解
  • 【Redis实战专题】「技术提升系列」​RedisJSON核心机制与实战应用解析(入门基础篇)
  • 调语音类大模型必备-音频录制小妙招-自制工具-借助浏览器录一段单声道16000采样率wav格式音频
  • 华为OD机试 - 核酸最快检测效率 - 动态规划、背包问题(Java 2024 E卷 200分)
  • 【学习记录】大模型微调之使用 LLaMA-Factory 微调 Qwen系列大模型,可以用自己的数据训练
  • How to share files with Linux mint 22 via samba in Windows
  • Sql Server 索引性能优化 分析以及分表
  • _DISPATCHER_HEADER结构中的WaitListHead和_KWAIT_BLOCK的关系
  • Linux的SPI子系统的原理和结构详解【SPI控制器(spi_master)、SPI总线(device-driver-match匹配机制)、SPI设备、SPI万能驱动`spidev.c`】
  • Unity 实现一个简易可拓展性的对话系统
  • 深度解读DeepSeek:开源周(Open Source Week)技术解读
  • 从零开始的LeetCode刷题日记:128. 最长连续序列
  • Spring Boot 整合 Nacos 注册中心终极指南
  • CentOS 7 更换 yum 源(阿里云)+ 扩展 epel 源
  • Jackson实现JSON数据的合并