共用poetry和conda的方法

[复制链接]
发表于 2025-2-15 12:28:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
起因

基于开源项目继续开发,发现该项目使用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
一种正确安装及使用方式


  • 创建一个独立的conda情况,用该情况生成venv
  • 在该venv中安装poetry。安装方法参照官网:poetry官网安装指南
  • 设置情况变量指向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,因为这会将整个虚拟情况暴露出来的风险
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表