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

共用poetry和conda的方法

起因

基于开源项目继续开发,发现该项目使用poetry管理依赖,但本地开发及调试环境依赖conda且未安装原生python,不支持直接安装poetry,因此需要使用conda安装及使用poetry。操作系统:Ubuntu

什么是poetry

一项依赖于独立的venv的Python依赖管理工具,安装要求Python>=3.9。poetry使用自己的算法管理依赖版本,使用pip下载和安装具体的依赖

错误安装方式及原因

错误复现

若阅读poetry文档不认真,则常犯以下错误:
1)使用conda创建一个python=3.10的环境(下称Epoetry);
2) 在Epoetry中使用pip安装poetry;
3) 不切换conda环境,使用poetry安装其他依赖
4) 使用poetry shell尝试启动poetry创建的某虚拟环境
然后发现,为什么poetry没创建虚拟环境,我的依赖跑到哪里去了。如果安装的依赖和poetry本身运行的依赖冲突,poetry甚至无法运行了

错误解析

poetry把依赖安装到Epoetry里了。poetry的文档指出,poetry会自动探测虚拟环境,如监测到虚拟环境则优先安装到虚拟环境而非自创虚拟环境。错误复现包含“在Epoetry中使用poetry安装依赖“项,因此poetry将依赖安装于Epoetry

一种正确安装及使用方式

  1. 创建一个独立的conda环境,用该环境生成venv
  2. 在该venv中安装poetry。安装方法参照官网:poetry官网安装指南
  3. 设置环境变量指向poetry可执行文件,方便调用

第3步展开说明:设置环境变量方便调用

假设venv的路径是/home/user/venv,一般情况下poetry的位置是/home/user/venv/bin/poetry. 假设我们使用export poetry="/home/user/venv/bin/poetry"来设置环境变量,那么所有的poetry命令都可以直接用$poetry替代。这里不推荐将/home/user/venv/bin添加进PATH,因为这会将整个虚拟环境暴露出来的风险

http://www.dtcms.com/a/18175.html

相关文章:

  • 力扣hot100第三天
  • STM32——HAL库开发笔记19(串口中断接收实验)(参考来源:b站铁头山羊)
  • 2025 西湖论剑wp
  • sql调优之数据库开发规范
  • Sprinig源码解析
  • 3D模型可视化引擎HOOPS Visualize在桌面端的支持有哪些特点?
  • 【LINUX】常用指令查询
  • 第五章 起航10 金字塔原理
  • ollama部署deepseek实操记录
  • 设备智能AI语音交互,ESP32-S3芯片方案应用,物联网无线联动控制
  • Next.js【详解】CSS 样式方案
  • C#搜索算法大冒险:在数据海洋里找宝藏
  • 什么是神经网络?
  • Docker 镜像标签使用
  • ICRA-2025 | 具身导航如何跨越地形障碍?SARO:通过视觉语言模型实现地形穿越
  • Debian系发行版通用软件彻底卸载指南
  • 游戏引擎学习第102天
  • C语言——排序(冒泡,选择,插入)
  • leetcode18-四数之和
  • 百度舆情优化:百度下拉框中的负面如何清除?
  • Golang学习历程【第七篇 闭包type defer panic recover了解time包】
  • Redis中的某一热点数据缓存过期了,此时有大量请求访问怎么办?
  • Docker 镜像的构建与管理(二)
  • 比亚迪“璇玑架构”和特斯拉FSD的比较
  • 第一章:Matlab 基础入门
  • Spring Boot整合DeepSeek实现AI对话
  • python-leetcode 25.环形链表
  • 番外03:前端面试八股文-javaScript
  • 服务器防护(ubuntu)
  • 数据结构(6)