Poetry 完整安装与项目环境搭建指南
Poetry 完整安装与项目环境搭建指南
1. Poetry 安装方式
1.1 pip 安装(推荐新手使用)
# 使用 pip 安装
pip install poetry# 验证安装
poetry --version# 如果需要升级
pip install --upgrade poetry
1.2 官方安装脚本
# Windows PowerShell
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -# Linux/MacOS
curl -sSL https://install.python-poetry.org | python3 -
1.3 环境变量配置
# Windows: 添加到用户环境变量
%APPDATA%\Python\Scripts# Linux/MacOS: 添加到 PATH
export PATH="/home/<username>/.local/bin:$PATH"
2. Poetry 初始配置
2.1 基础配置
# 配置虚拟环境位置(推荐项目内)
poetry config virtualenvs.in-project true# 配置镜像源(可选,国内用户推荐)
poetry config repositories.tsinghua https://pypi.tuna.tsinghua.edu.cn/simple
2.2 验证配置
# 查看所有配置
poetry config --list# 测试是否正常工作
poetry new test-project
3. 创建新项目
3.1 项目初始化
# 方式1:创建新项目
poetry new my-project# 方式2:在现有项目中初始化
cd existing-project
poetry init
3.2 项目结构示例
my-project/
├── pyproject.toml # 项目配置文件
├── poetry.lock # 依赖锁定文件
├── README.md
├── my_project/
│ └── __init__.py
└── tests/└── __init__.py
4. 依赖管理
4.1 安装依赖
# 安装项目依赖
poetry install# 添加新依赖
poetry add requests pandas# 添加开发依赖
poetry add --group dev pytest black
4.2 更新依赖
# 更新所有依赖
poetry update# 更新特定包
poetry update requests
5. 虚拟环境管理
5.1 环境操作
# 创建并激活虚拟环境
poetry shell# 在虚拟环境中运行命令
poetry run python script.py# 查看虚拟环境信息
poetry env info
5.2 依赖导出
# 导出 requirements.txt
poetry export -f requirements.txt --output requirements.txt# 包含开发依赖
poetry export -f requirements.txt --with dev --output requirements-dev.txt
6. 常见问题解决
6.1 安装问题
# pip 安装失败时
python -m pip install --user poetry# 权限问题
sudo pip install poetry # Linux/MacOS
6.2 环境问题
# 重置虚拟环境
poetry env remove python
poetry install --remove-untracked# 清理缓存
poetry cache clear . --all
7. 最佳实践建议
-
安装选择
- 新手推荐使用 pip 安装,更容易理解和管理
- 高级用户可以使用官方脚本,获得更好的版本控制
-
环境管理
- 始终在项目目录下创建虚拟环境
- 使用
poetry.lock
锁定依赖版本
-
依赖管理
- 合理使用依赖分组
- 定期更新依赖检查安全问题
- 导出 requirements.txt 用于兼容性场景
-
开发流程
- 使用
poetry shell
进入开发环境 - 善用
poetry run
执行临时命令
- 使用
8. 总结
Poetry 的安装和使用非常灵活,可以根据个人需求选择合适的安装方式:
- pip 安装适合新手,操作简单直观
- 官方脚本安装更加完整和可控
- 配合虚拟环境使用更加规范
无论选择哪种安装方式,Poetry 都能帮助我们更好地管理 Python 项目,提高开发效率和项目质量。建议新项目都尝试使用 Poetry 进行依赖管理,体验现代化的 Python 开发工具链。
1. Poetry 安装方式
1.1 pip 安装(推荐新手使用)
# 使用 pip 安装
pip install poetry# 验证安装
poetry --version# 如果需要升级
pip install --upgrade poetry
1.2 官方安装脚本
# Windows PowerShell
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -# Linux/MacOS
curl -sSL https://install.python-poetry.org | python3 -
1.3 环境变量配置
# Windows: 添加到用户环境变量
%APPDATA%\Python\Scripts# Linux/MacOS: 添加到 PATH
export PATH="/home/<username>/.local/bin:$PATH"
2. Poetry 初始配置
2.1 基础配置
# 配置虚拟环境位置(推荐项目内)
poetry config virtualenvs.in-project true# 配置镜像源(可选,国内用户推荐)
poetry config repositories.tsinghua https://pypi.tuna.tsinghua.edu.cn/simple
2.2 验证配置
# 查看所有配置
poetry config --list# 测试是否正常工作
poetry new test-project
3. 创建新项目
3.1 项目初始化
# 方式1:创建新项目
poetry new my-project# 方式2:在现有项目中初始化
cd existing-project
poetry init
3.2 项目结构示例
my-project/
├── pyproject.toml # 项目配置文件
├── poetry.lock # 依赖锁定文件
├── README.md
├── my_project/
│ └── __init__.py
└── tests/└── __init__.py
4. 依赖管理
4.1 安装依赖
# 安装项目依赖
poetry install# 添加新依赖
poetry add requests pandas# 添加开发依赖
poetry add --group dev pytest black
4.2 更新依赖
# 更新所有依赖
poetry update# 更新特定包
poetry update requests
5. 虚拟环境管理
5.1 环境操作
# 创建并激活虚拟环境
poetry shell# 在虚拟环境中运行命令
poetry run python script.py# 查看虚拟环境信息
poetry env info
5.2 依赖导出
# 导出 requirements.txt
poetry export -f requirements.txt --output requirements.txt# 包含开发依赖
poetry export -f requirements.txt --with dev --output requirements-dev.txt
6. 常见问题解决
6.1 安装问题
# pip 安装失败时
python -m pip install --user poetry# 权限问题
sudo pip install poetry # Linux/MacOS
6.2 环境问题
# 重置虚拟环境
poetry env remove python
poetry install --remove-untracked# 清理缓存
poetry cache clear . --all
7. 最佳实践建议
-
安装选择
- 新手推荐使用 pip 安装,更容易理解和管理
- 高级用户可以使用官方脚本,获得更好的版本控制
-
环境管理
- 始终在项目目录下创建虚拟环境
- 使用
poetry.lock
锁定依赖版本
-
依赖管理
- 合理使用依赖分组
- 定期更新依赖检查安全问题
- 导出 requirements.txt 用于兼容性场景
-
开发流程
- 使用
poetry shell
进入开发环境 - 善用
poetry run
执行临时命令
- 使用
8. 总结
Poetry 的安装和使用非常灵活,可以根据个人需求选择合适的安装方式:
- pip 安装适合新手,操作简单直观
- 官方脚本安装更加完整和可控
- 配合虚拟环境使用更加规范
无论选择哪种安装方式,Poetry 都能帮助我们更好地管理 Python 项目,提高开发效率和项目质量。建议新项目都尝试使用 Poetry 进行依赖管理,体验现代化的 Python 开发工具链。
相关文章:
Poetry 完整安装与项目环境搭建指南
Poetry 完整安装与项目环境搭建指南 1. Poetry 安装方式 1.1 pip 安装(推荐新手使用) # 使用 pip 安装 pip install poetry# 验证安装 poetry --version# 如果需要升级 pip install --upgrade poetry1.2 官方安装脚本 # Windows PowerShell (Invoke-…...
【MyBatis源码】MapperRegistry详解
🎮 作者主页:点击 🎁 完整专栏和代码:点击 🏡 博客主页:点击 文章目录 MapperRegistry 的作用核心字段解析整体工作流程addMapper方法MapperAnnotationBuilder#parse流程详解MapperAnnotationBuilder#parse…...

Java项目实战II基于Spring Boot的工作流程管理系统设计与实现(开发文档+数据库+源码)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在当今快节奏的商业环境中,…...
flink StreamGraph 构造flink任务
文章目录 背景主要步骤代码 背景 通常使用flink 提供的高级算子来编写flink 任务,对底层不是很了解,尤其是如何生成作业图的细节 下面通过构造一个有向无环图,来实际看一下 主要步骤 1.增加source 2.增加operator 3. 增加一条边࿰…...

【51单片机】LCD1602液晶显示屏
学习使用的开发板:STC89C52RC/LE52RC 编程软件:Keil5 烧录软件:stc-isp 开发板实图: 文章目录 LCD1602存储结构时序结构 编码 —— 显示字符、数字 LCD1602 LCD1602(Liquid Crystal Display)液晶显示屏是…...
理解 HTML5 Canvas 中逻辑像素与物理像素的关系
理解 HTML5 Canvas 中逻辑像素与物理像素的关系 在使用 HTML5 Canvas 时,开发者经常会遇到一个困惑:为什么鼠标的 offsetX 和 offsetY 和我绘制的图形坐标对不上?这通常是因为 Canvas 的逻辑像素大小和物理像素大小不一致。本文将详细解释这…...

7.揭秘C语言输入输出内幕:printf与scanf的深度剖析
揭秘C语言输入输出内幕:printf与scanf的深度剖析 C语言往期系列文章目录 往期回顾: VS 2022 社区版C语言的安装教程,不要再卡在下载0B/s啦C语言入门:解锁基础概念,动手实现首个C程序C语言概念之旅:解锁关…...

数据分析-系统认识数据分析
目录 数据分析的全貌 观测 实验 应用 数据分析的全貌 观测 实验 应用...
蓝桥杯介绍
赛事背景与历程 自2009年举办以来,蓝桥杯已经连续举行了多届,成为国内领先的信息技术赛事。2022年,蓝桥杯被教育部确定为2022—2025学年面向中小学生的全国性竞赛活动,并入选国家级A类学科竞赛。 参赛对象与组别 蓝桥杯的参赛对…...

鸿蒙加载网络图片并转换成PixelMap
鸿蒙加载网络图片并转换成PixelMap 参考文档 基于API12. 有一些图片功能需要使用 PixelMap 类型的参数,但是使用Image组件之类的时候无法获取到 PixelMap 类型数据。 因此只能是把图片下载下来然后加在并转换一下。 实现方式 一下封装了一个函数。使用的 rcp 模…...

hive搭建
1.准备环境 三台节点主机已安装hadoopmysql数据库 2.环境 2.1修改三台节点上hadoop的core-site.xml <!-- 配置 HDFS 允许代理任何主机和组 --> <property><name>hadoop.proxyuser.hadoop.hosts</name><value>*</value> </property&…...

51c扩散模型~合集1
我自己的原文哦~ https://blog.51cto.com/whaosoft/11541675 #Diffusion Forcing 无限生成视频,还能规划决策,扩散强制整合下一token预测与全序列扩散 当前,采用下一 token 预测范式的自回归大型语言模型已经风靡全球,同时互联…...

从零开始深度学习:全连接层、损失函数与梯度下降的详尽指南
引言 在深度学习的领域,全连接层、损失函数与梯度下降是三块重要的基石。如果你正在踏上深度学习的旅程,理解它们是迈向成功的第一步。这篇文章将从概念到代码、从基础到进阶,详细剖析这三个主题,帮助你从小白成长为能够解决实际…...
Liebherr利勃海尔 EDI 需求分析
Liebherr 使用 EDI 技术来提高业务流程的效率、降低错误率、加快数据交换速度,并优化与供应商、客户和其他合作伙伴之间的业务沟通。通过 EDI,Liebherr 实现了与全球交易伙伴的自动化数据交换,提升了供应链管理和订单处理的透明度。 Liebher…...
java小练习
小练1.用while语句计算11/2!1/3!1/4!...1/20!的和 public class test_11_17_2 {public static void main(String[] args) {double sum 0;double item 1;int n 20;int i 1;while(i<n){sum item;i i1;item item*(1.0/i);}System.out.println(sum);} } 小练2.计算88888…...
go语言中的占位符有哪些
在Go语言中,占位符主要用于格式化字符串输出,特别是在使用fmt包中的Printf系列函数时。以下是Go语言中常用的占位符: %v:代表值的默认格式,对于字符串是直接输出,对于整型是十进制形式。%v:扩展…...
基于Windows安装opus python库
项目中需要用到一些opus格式的编解码功能,找到网上有opus的开源库。网址:Opus Codec 想着人生苦短,没想到遇上了错误!在这里记录一下过程 过程 安装python库 pip3 install opuslib验证 >>> import opuslib Tracebac…...

【设计模式】行为型模式(五):解释器模式、访问者模式、依赖注入
《设计模式之行为型模式》系列,共包含以下文章: 行为型模式(一):模板方法模式、观察者模式行为型模式(二):策略模式、命令模式行为型模式(三):责…...

使用nossl模式连接MySQL数据库详解
使用nossl模式连接MySQL数据库详解 摘要一、引言二、nossl模式概述2.1 SSL与nossl模式的区别2.2 选择nossl模式的场景三、在nossl模式下连接MySQL数据库3.1 准备工作3.2 C++代码示例3.3 代码详解3.3.1 初始化MySQL连接对象3.3.2 连接到MySQL数据库3.3.3 执行查询操作3.3.4 处理…...

【MySQL】ubantu 系统 MySQL的安装与免密码登录的配置
🍑个人主页:Jupiter. 🚀 所属专栏:MySQL初阶探索:构建数据库基础 欢迎大家点赞收藏评论😊 目录 📚mysql的安装📕MySQL的登录🌏MySQL配置免密码登录 📚mysql的…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...