Ubuntu 24.04 安装 Poetry:Python 依赖管理的终极指南

Ubuntu 24.04 安装 Poetry:Python 依赖管理的终极指南

    • 1. 更新系统包列表
    • 2. 安装 Poetry
      • 方法 1:使用官方安装脚本
      • 方法 2:使用 Pipx 安装
    • 3. 配置环境变量
    • 4. 验证安装
    • 5. 配置 Poetry(可选)
      • 设置虚拟环境位置
      • 配置镜像源
    • 6. 创建和管理项目
      • 创建新项目
      • 安装依赖
      • 添加依赖
      • 激活虚拟环境
    • 7. 卸载 Poetry(可选)
    • 总结

在 Python 开发中,依赖管理是一个非常重要的环节。Poetry 是一个现代化的 Python 依赖管理工具,它不仅可以帮助我们管理项目的依赖,还可以管理虚拟环境、打包和发布项目。本文将详细介绍如何在 Ubuntu 24.04 上安装和配置 Poetry,并展示如何使用它来管理 Python 项目。


1. 更新系统包列表

在安装 Poetry 之前,首先确保系统包列表是最新的:

sudo apt update

2. 安装 Poetry

Poetry 可以通过多种方式安装,以下是两种推荐的方法:

方法 1:使用官方安装脚本

这是官方推荐的方式,适用于大多数用户:

curl -sSL https://install.python-poetry.org | python3 -

安装完成后,Poetry 会被安装到 ~/.local/bin 目录下。

方法 2:使用 Pipx 安装

Pipx 是一个用于隔离安装 Python 应用的工具,推荐使用:

sudo apt install pipx -y
pipx ensurepath
pipx install poetry

这种方式可以避免 Poetry 的依赖与系统全局 Python 环境冲突。


3. 配置环境变量

如果使用官方安装脚本,需要将 Poetry 的可执行文件路径添加到环境变量中:

export PATH="$HOME/.local/bin:$PATH"

将上述命令添加到 ~/.bashrc~/.zshrc 文件中,然后运行以下命令使其生效:

source ~/.bashrc

4. 验证安装

安装完成后,检查 Poetry 是否安装成功:

poetry --version

如果显示 Poetry 的版本号(如 Poetry (version 2.0.0)),说明安装成功。


5. 配置 Poetry(可选)

设置虚拟环境位置

默认情况下,Poetry 会将虚拟环境存储在 ~/.cache/pypoetry/virtualenvs 目录下。你可以将其修改为项目目录内:

poetry config virtualenvs.in-project true

配置镜像源

如果需要加速依赖包的下载,可以为 Poetry 配置国内镜像源(如清华源):

poetry source add --priority=supplemental tuna https://pypi.tuna.tsinghua.edu.cn/simple

6. 创建和管理项目

创建新项目

使用 Poetry 创建一个新项目:

poetry new my-project

这将生成一个包含 pyproject.toml 文件的项目结构。

安装依赖

进入项目目录并安装依赖:

cd my-project
poetry install

添加依赖

添加新的依赖包:

poetry add requests

激活虚拟环境

进入 Poetry 管理的虚拟环境:

poetry shell

7. 卸载 Poetry(可选)

如果需要卸载 Poetry,可以使用以下命令:

curl -sSL https://install.python-poetry.org | python3 - --uninstall

或者,如果通过 Pipx 安装:

pipx uninstall poetry

总结

通过以上步骤,你可以在 Ubuntu 24.04 上成功安装并配置 Poetry,用于 Python 项目的依赖管理和虚拟环境管理。Poetry 不仅简化了依赖管理的过程,还提供了强大的功能来管理项目的整个生命周期。如果你还没有尝试过 Poetry,现在就是一个好时机!

如果需要更详细的功能说明,可以参考 Poetry 官方文档。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用Muduo库实现简单且健壮的Echo服务器

一、muduo网络库主要提供了两个类: TcpServer:用于编写服务器程序 TcpClient:用于编写客户端程序 二、三个重要的链接库: libmuduo_net、libmuduo_base、libpthread 三、muduo库底层就是epoll线程池,其好处是…

【学术投稿-2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)】从计算机基础到HTML开发:Web开发的第一步

会议官网:www.acvra.org 简介 2025年计算机视觉研究进展与应用(ACVRA 2025)将于2025年2月28-3月2日在中国广州召开,将汇聚世界各地的顶尖学者、研究人员和行业专家,聚焦计算机视觉领域的最新研究动态与应用成就。本次…

Rust 所有权特性详解

Rust 所有权特性详解 Rust 的所有权系统是其内存安全的核心机制之一。通过所有权规则,Rust 在编译时避免了常见的内存错误(如空指针、数据竞争等)。本文将从堆内存与栈内存、所有权规则、变量作用域、String 类型、内存分配、所有权移动、Cl…

【Git】一、初识Git Git基本操作详解

文章目录 学习目标Ⅰ. 初始 Git💥注意事项 Ⅱ. Git 安装Linux-centos安装Git Ⅲ. Git基本操作一、创建git本地仓库 -- git init二、配置 Git -- git config三、认识工作区、暂存区、版本库① 工作区② 暂存区③ 版本库④ 三者的关系 四、添加、提交更改、查看提交日…

【Envi遥感图像处理】009:envi5.6设置中文界面的方法

ENVI软件从5.0版本开始,界面发生了大的变化,并开始支持中文。本文讲述envi5.6设置中文界面的方法。 文章目录 一、中文界面预览二、设置中文界面三、注意事项一、中文界面预览 以下为envi5.6新版的中文界面: 二、设置中文界面 打开英文版的envi5.6软件,首先需要从安装App…

014-STM32单片机实现矩阵薄膜键盘设计

1.功能说明 本设计主要是利用STM32驱动矩阵薄膜键盘,当按下按键后OLED显示屏上会对应显示当前的按键键值,可以将此设计扩展做成电子秤、超市收银机、计算器等需要多个按键操作的单片机应用。 2.硬件接线 模块管脚STM32单片机管脚矩阵键盘行1PA0矩阵键盘…

鸿蒙Harmony-双向数据绑定MVVM以及$$语法糖介绍

鸿蒙Harmony-双向数据绑定MVVM以及$$语法糖介绍 1.1 双向数据绑定概念 在鸿蒙(HarmonyOS)应用开发中,双向数据改变(或双向数据绑定)是一种让数据模型和UI组件之间保持同步的机制,当数据发生变化时&#x…

Chromium132 编译指南 - Android 篇(一):编译前准备

1. 引言 欢迎来到《Chromium 132 编译指南 - Android 篇》系列的第一部分。本系列指南将引导您逐步完成在 Android 平台上编译 Chromium 132 版本的全过程。Chromium 作为一款由 Google 主导开发的开源浏览器引擎,为众多现代浏览器提供了核心驱动力。而 Android 作…

通向AGI之路:人工通用智能的技术演进与人类未来

文章目录 引言:当机器开始思考一、AGI的本质定义与技术演进1.1 从专用到通用:智能形态的范式转移1.2 AGI发展路线图二、突破AGI的五大技术路径2.1 神经符号整合(Neuro-Symbolic AI)2.2 世界模型架构(World Models)2.3 具身认知理论(Embodied Cognition)三、AGI安全:价…

使用 DeepSeek-R1 与 AnythingLLM 搭建本地知识库

一、下载地址Download Ollama on macOS 官方网站:Ollama 官方模型库:library 二、模型库搜索 deepseek r1 deepseek-r1:1.5b 私有化部署deepseek,模型库搜索 deepseek r1 运行cmd复制命令:ollama run deepseek-r1:1.5b 私有化…

C++游戏开发实战:从引擎架构到物理碰撞

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 C 是游戏开发中最受欢迎的编程语言之一,因其高性能、低延迟和强大的底层控制能力,被广泛用于游戏…

计算机网络——三种交换技术

目录 电路交换——用于电话网络 电路交换的优点: 电路交换的缺点: 报文交换——用于电报网络 报文交换的优点: 报文交换的缺点: 分组交换——用于现代计算机网络 分组交换的优点: 分组交换的缺点 电路交换——…

35.Word:公积金管理中心文员小谢【37】

目录 Word1.docx ​ Word2.docx Word2.docx ​ 注意本套题还是与上一套存在不同之处 Word1.docx 布局样式的应用设计页眉页脚位置在水平/垂直方向上均相对于外边距居中排列:格式→大小对话框→位置→水平/垂直 按下表所列要求将原文中的手动纯文本编号分别替换…

小程序越来越智能化,作为设计师要如何进行创新设计

一、用户体验至上 (一)简洁高效的界面设计 小程序的特点之一是轻便快捷,用户期望能够在最短的时间内找到所需功能并完成操作。因此,设计师应致力于打造简洁高效的界面。避免过多的装饰元素和复杂的布局,采用清晰的导航…

全栈开发:使用.NET Core WebAPI构建前后端分离的核心技巧(二)

目录 配置系统集成 分层项目使用 筛选器的使用 中间件的使用 配置系统集成 在.net core WebAPI前后端分离开发中,配置系统的设计和集成是至关重要的一部分,尤其是在管理不同环境下的配置数据时,配置系统需要能够灵活、可扩展&#xff0c…

Linux——进程概念

目录 一、系统调用和库函数概念二、基本概念三、描述进程-PCB3.1 task_struct-PCB的一种3.2 task_ struct内容分类 四、组织进程五、查看进程六、通过系统调用获取进程标示符七、通过系统调用创建进程- fork初始7.1 fork函数创建子进程7.2 fork 之后通常要用 if 进行分流 八、进…

基于Springboot框架的学术期刊遴选服务-项目演示

项目介绍 本课程演示的是一款 基于Javaweb的水果超市管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统 3.该项目附…

2. K8S集群架构及主机准备

本次集群部署主机分布K8S集群主机配置主机静态IP设置主机名解析ipvs管理工具安装及模块加载主机系统升级主机间免密登录配置主机基础配置完后最好做个快照备份 2台负载均衡器 Haproxy高可用keepalived3台k8s master节点5台工作节点(至少2及以上)本次集群部署主机分布 K8S集群主…

Linux第105步_基于SiI9022A芯片的RGB转HDMI实验

SiI9022A是一款HDMI传输芯片,可以将“音视频接口”转换为HDMI或者DVI格式,是一个视频转换芯片。本实验基于linux的驱动程序设计。 SiI9022A支持输入视频格式有:xvYCC、BTA-T1004、ITU-R.656,内置DE发生器,支持SYNC格式…

物联网领域的MQTT协议,优势和应用场景

MQTT(Message Queuing Telemetry Transport)作为轻量级发布/订阅协议,凭借其低带宽消耗、低功耗与高扩展性,已成为物联网通信的事实标准。其核心优势包括:基于TCP/IP的异步通信机制、支持QoS(服务质量&…