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

【Python】PyCharm + poetry 管理 Python 虚拟环境

Windows 使用 PyCharm poetry 管理 Python 虚拟环境完全舍弃Anaconda1. 确保安装Python关键前提Poetry 管理多版本虚拟环境的核心是系统中必须已安装对应版本的 Python。它不会自动下载或安装 Python而是依赖系统中已存在的解释器。因此需要哪个版本的虚拟环境就先在系统中安装该版本的 Python 即可。安装 Python 12 时可以选择安装到其他磁盘如 D 盘、E 盘等并非只能安装到 C 盘。具体操作步骤以 Windows 系统为例从 Python官网地址 下载 Python 12可以选择自己需要的版本 的安装包.exe 文件。运行安装包首先勾选底部的 “Add Python.exe to PATH”非常重要否则后续命令行可能无法直接调用 Python。点击 “Customize installation”自定义安装而非默认的 “Install Now”。在 “Optional Features” 页面保持默认选项点击 “Next”。在 “Advanced Options” 页面找到 “Install location” 选项点击右侧的 “Browse”选择你希望安装的路径例如 D:\Python\Python12。确认路径后点击 “Install” 完成安装。注意事项安装路径建议避免包含中文、空格或特殊符号如 D:\我的软件\Python 12 可能会导致后续使用问题尽量使用纯英文路径如 D:\Python12。无论安装到哪个磁盘只要勾选了 “Add Python to PATH”命令行中输入 python --version 或python3 --version 就能正常识别安装的版本Poetry 也能自动找到该 Python 解释器。这样就可以将 Python 12 安装到非 C 盘同时不影响后续使用 Poetry 管理虚拟环境。当前系统只装了 Python 12 时Poetry 会默认使用 Python 12 作为基础解释器来创建虚拟环境此时你只能创建 Python 12 版本的虚拟环境因为系统中没有其他版本的 Python 可供选择。 后续需要更高版本的 Python 时只需在系统中额外安装更高版本的 Python例如 Python 13并确保安装时勾选 “Add Python to PATH”让 Poetry 能在系统中找到该版本。之后在需要使用更高版本的项目中通过修改项目的 pyproject.toml 文件指定目标版本即可例如[tool.poetry.dependencies]python^3.13# 指定需要 Python 13 及以上版本2. 安装 Poetry、PyCharm 关联 poetry 虚拟环境在已安装 Python 的基础上要在 PyCharm 中用 Poetry 管理项目虚拟环境需按以下步骤操作步骤 0修改 Poetry 的默认安装路径Poetry 并非只能安装在 C 盘它的默认安装路径虽然在系统盘通常是 C 盘但可以通过配置修改安装路径。不过需要注意的是Poetry 的安装路径和它管理的虚拟环境路径是两个概念下面分别说明Poetry 自身的安装路径可修改Poetry 的默认安装路径如下WindowsC:\Users\用户名\AppData\Roaming\Python\Scripts\脚本路径和 C:\Users\用户名\AppData\Local\pypoetry\核心文件如果想修改 Poetry 自身的安装路径需要在安装时通过环境变量指定。以 Windows 为例步骤如下打开 PowerShell先设置 POETRY_HOME 环境变量指定自定义安装路径$env:POETRY_HOMED:\Program Files\Poetry# 替换为你的目标路径注意此设置仅在当前会话有效你通过 $env:POETRY_HOME … 设置的环境变量是临时的关闭当前 PowerShell 窗口后会失效。步骤 1安装 Poetry设置好 POETRY_HOME 后继续在系统中安装 Poetry打开终端Windows 用 PowerShell / 命令提示符执行对应命令(Invoke-WebRequest-Urihttps://install.python-poetry.org -UseBasicParsing).Content|python -此时 Poetry 会安装到你指定的 D:\Program Files\Poetry 路径下。安装完成后还需要将 D:\Program Files\Poetry\bin或 Scripts 目录添加到系统 PATH 中确保能直接在命令行使用 poetry 命令。安装完成后关闭并重新打开终端输入 poetry --version 验证是否安装成功显示版本号即正常。步骤 2修改 Poetry 管理的虚拟环境路径推荐修改避免占 C 盘更重要的是虚拟环境的路径项目依赖和解释器存放的地方默认路径通常在 C 盘如 C:\Users\用户名.virtualenvs\长期使用会占用大量空间建议修改到其他磁盘。修改虚拟环境路径的方法打开终端执行以下命令设置默认虚拟环境路径以 D 盘为例# Windows PowerShellpoetry config virtualenvs.pathD:\Program Files\Poetry验证设置是否生效poetry config--list# 查看配置确认 virtualenvs.path 已更新之后Poetry 新建的虚拟环境都会存放在你指定的路径下避免占用 C 盘空间。步骤 3PyCharm 创建 / 打开 Python 项目并初始化 Poetry情况 A新建项目打开 PyCharm点击 “New Project”选择项目保存路径例如D:\my_poetry_project暂时不要选择虚拟环境后续由 Poetry 创建点击 “Create”。在 PyCharm 底部打开 “Terminal”终端输入以下命令初始化 Poetry 项目poetry new.# 注意末尾的点表示在当前项目目录初始化执行后项目会生成 pyproject.toml核心配置文件、poetry.lock依赖锁定文件等 Poetry 所需文件。情况 B已有项目 且 已有requirement.txt注意requirement.txt中不能有空行不能有注释行打开 PyCharm 的 “Terminal”进入项目根目录执行初始化命令poetry init在 pyproject.toml 中禁用 “包模式”适合非打包项目如果你的项目只是普通脚本不需要打包成 Python 包发布可以永久禁用 Poetry 的 “包模式”避免检查 README.md 等打包相关文件打开项目根目录的 pyproject.toml 文件poetry init 生成的配置文件。在文件末尾添加以下配置[tool.poetry]package-modefalse# 禁用包模式仅用于依赖管理执行以下命令创建虚拟环境会自动使用你之前设置的默认路径poetryinstall在PyCharm中配置解释器通过下面代码可添加所有依赖包poetryadd$(Get-Content requirement.txt)情况 C已有项目在 PyCharm 中打开现有项目例如 D:\existing_project。打开 PyCharm 的 “Terminal”进入项目根目录执行初始化命令poetry initpoetry init 是交互式初始化项目配置的过程每一步提示都有默认值括号中的内容直接按回车即可使用默认值无需额外填写。以下是针对当前提示及后续步骤的填写建议第一个提示Package name []:含义项目的包名称用于标识项目通常与文件夹名一致。操作直接按 回车使用默认值 括号中已显示与你的项目文件夹名匹配无需修改。后续其他提示的处理参考以下建议Version [0.1.0]:含义项目版本号遵循语义化版本如 0.1.0 表示初始版本。操作直接回车使用默认 0.1.0后续可在 pyproject.toml 中修改。Description []:含义项目描述简要说明项目用途。操作可直接回车留空非必填也可输入描述如 A route planning project。Author [Your Name youexample.com, n to skip]:含义作者信息格式为 姓名 邮箱。操作若不想填写输入 n 后回车若想填写按格式输入如 张三 zhangsanexample.com。License []:含义开源许可证如 MIT、Apache 等非必填。操作直接回车留空个人项目通常无需填写。Compatible Python versions [^3.12]:含义项目兼容的 Python 版本默认匹配你安装的 Python 12。操作直接回车使用默认 ^3.12表示支持 3.12 及以上兼容版本与你的环境匹配。最后确认Would you like to define your main dependencies interactively? (yes/no) [no]:含义是否交互式添加依赖如 requests、pandas 等。操作直接回车选 no后续可通过 poetry add 包名 更方便地添加依赖。二次确认Would you like to define your development dependencies interactively? (yes/no) [no]:含义是否交互式添加开发依赖如 pytest 测试工具。操作直接回车选 no需要时再用 poetry add --dev 包名 添加。最终确认Do you confirm generation? (yes/no) [yes]:操作直接回车选 yes生成 pyproject.toml 文件。总结 整个过程中除了作者信息可能需要手动输入或跳过其他步骤全部按回车使用默认值即可无需额外配置。完成后项目根目录会生成 pyproject.toml接下来就可以执行 poetry install 创建虚拟环境了。创建一个空的 README.md 文件Poetry 只是需要 README.md 存在内容可以为空。在项目根目录D:\existing_project下手动创建一个名为 README.md 的空文件右键 → 新建 → 文本文档重命名为 README.md注意去掉 .txt 后缀。在 pyproject.toml 中禁用 “包模式”适合非打包项目如果你的项目只是普通脚本不需要打包成 Python 包发布可以永久禁用 Poetry 的 “包模式”避免检查 README.md 等打包相关文件打开项目根目录的 pyproject.toml 文件poetry init 生成的配置文件。在文件末尾添加以下配置[tool.poetry]package-modefalse# 禁用包模式仅用于依赖管理执行以下命令创建虚拟环境会自动使用你之前设置的默认路径poetryinstall首次执行会在你设置的默认路径如 D:\Program Files\PoetryEnvs中创建该项目的独立虚拟环境。若项目无依赖仅创建基础环境若有依赖会自动安装到虚拟环境中。在 PyCharm 中关联 Poetry 虚拟环境设置解释器打开 PyCharm 配置「File → Settings → Project: 项目名 → Python Interpreter」。点击右上角的「Add Interpreter」 号选择「Add Local Interpreter」。在弹出的窗口中选择「Poetry Environment」然后自动识别若 PyCharm 已识别到当前项目的 Poetry 环境显示路径为你设置的默认路径直接点击「OK」。手动选择若未识别点击「…」按钮手动定位虚拟环境的 Python 解释器① 先在 Terminal 中执行 poetry env info --path获取虚拟环境路径例如 D:\PoetryEnvs\my_project-abc123。② 进入该路径找到 Scripts\python.exeWindows 系统选中该文件。点击「OK」完成关联PyCharm 会显示虚拟环境中已安装的依赖包。后续常用操作在 PyCharm Terminal 中安装新依赖poetry add 包名如 poetry add pandas。安装开发依赖如测试工具poetry add --dev pytest。卸载依赖poetry remove 包名。激活虚拟环境终端poetry shell命令行前缀会显示环境名称。直接运行脚本poetry run python 脚本名.py无需手动激活环境。查看已安装依赖 poetry show完成以上步骤后你的项目就会完全使用 Poetry 管理的虚拟环境依赖隔离且路径可控后续开发无需担心环境冲突问题。

相关文章:

【Python】PyCharm + poetry 管理 Python 虚拟环境

Windows 使用 PyCharm poetry 管理 Python 虚拟环境,完全舍弃Anaconda 1. 确保安装Python 关键前提: Poetry 管理多版本虚拟环境的核心是系统中必须已安装对应版本的 Python。它不会自动下载或安装 Python,而是依赖系统中已存在的解释器。因…...

MyBatis-Plus Samples JSONB字段处理:PostgreSQL高级数据类型实战

MyBatis-Plus Samples JSONB字段处理:PostgreSQL高级数据类型实战 【免费下载链接】mybatis-plus-samples MyBatis-Plus Samples 项目地址: https://gitcode.com/gh_mirrors/my/mybatis-plus-samples MyBatis-Plus Samples是MyBatis-Plus的官方示例项目&…...

英雄联盟玩家必看:告别手动配置!ChampR智能助手让你3秒搞定出装符文

英雄联盟玩家必看:告别手动配置!ChampR智能助手让你3秒搞定出装符文 【免费下载链接】champr 🐶 Yet another League of Legends helper 项目地址: https://gitcode.com/gh_mirrors/ch/champr 还在为每次游戏都要手动调整出装和符文而…...

如何快速掌握GEMMA:基因组关联分析的完整指南与实战技巧

如何快速掌握GEMMA:基因组关联分析的完整指南与实战技巧 【免费下载链接】GEMMA Genome-wide Efficient Mixed Model Association 项目地址: https://gitcode.com/gh_mirrors/gem/GEMMA 如果你正在寻找一款能够高效处理基因组关联分析的软件,那么…...

Windows流媒体服务器终极指南:从SRS到WSL的完美迁移方案

Windows流媒体服务器终极指南:从SRS到WSL的完美迁移方案 【免费下载链接】srs-windows 项目地址: https://gitcode.com/gh_mirrors/sr/srs-windows 想要在Windows系统上搭建专业级流媒体服务器?虽然SRS Windows版本已不再维护,但本文…...

告别MATLAB!用ArcGIS Pro处理XYZ点云数据,5步搞定三维地形建模与表面积计算

告别MATLAB!用ArcGIS Pro处理XYZ点云数据,5步搞定三维地形建模与表面积计算 当我们需要从离散的XYZ坐标点重建三维地形时,MATLAB的mesh函数可能是许多科研人员的首选。但如果你需要精确计算复杂曲面的表面积、生成等高线或分析地形特征&#…...

如何为你的技术项目找到完美的编程语言图标?这50+高清资源库就是答案

如何为你的技术项目找到完美的编程语言图标?这50高清资源库就是答案 【免费下载链接】programming-languages-logos Programming Languages Logos 项目地址: https://gitcode.com/gh_mirrors/pr/programming-languages-logos 你是否在为技术文档、博客文章或…...

别再搞混了!LP/mm、Cycles/pixel这些分辨率单位到底怎么用?附换算表

分辨率单位全解析:从LP/mm到Cycles/pixel的实战指南 每次看到镜头参数表里那些LP/mm、Cycles/pixel之类的术语,是不是感觉像在读天书?上周我帮朋友选工业相机时,发现不同厂商用不同单位标注分辨率,结果差点买错设备。今…...

Guesstimate未来路线图:AI集成、私有部署和协作功能的展望

Guesstimate未来路线图:AI集成、私有部署和协作功能的展望 【免费下载链接】guesstimate-app Create Fermi Estimates and Perform Monte Carlo Estimates 项目地址: https://gitcode.com/gh_mirrors/gu/guesstimate-app Guesstimate是一款强大的费米估算和蒙…...

C++ string操作指南:从入门到精通

一、为什么要用 string?之前学的 char[] 缺点:必须手动处理 \0,容易乱码不能直接用 赋值、 拼接长度受限,容易越界函数少,操作麻烦string 优点:是 C 标准类,安全方便可以直接 、、 比较自动管理…...

NLP预训练模型:从原理到实战,一篇讲透GPT、BERT与T5

2018年至今的NLP技术演进,一幅完整的发展蓝图一、引言:NLP的技术革命自然语言处理(NLP)领域在过去的近十年里经历了一场深刻的技术革命。如果让我用一句话概括这场革命的核心——那就是“预训练微调”范式的确立与普及。在Transfo…...

LIN总线API实战指南:从核心到传输层的嵌入式开发

1. LIN总线API入门:汽车电子的"对话规则" 第一次接触LIN总线API时,我把它想象成汽车电子模块之间的"方言词典"。就像不同地区的人需要通用语言手册才能顺畅交流,车窗控制器、座椅模块这些汽车电子单元也需要遵循特定规则…...

Visual Studio Live Share完整教程:从安装配置到高级协作技巧

Visual Studio Live Share完整教程:从安装配置到高级协作技巧 【免费下载链接】live-share Real-time collaborative development from the comfort of your favorite tools 项目地址: https://gitcode.com/gh_mirrors/liv/live-share Visual Studio Live Sh…...

从零到一:利用Arcgis Pro 2.5与91卫图助手构建离线地图包(tpk/mmpk)

1. 为什么需要离线地图包? 在移动应用开发或者野外作业场景中,网络条件往往不稳定甚至完全不可用。这时候如果应用依赖在线地图服务,用户体验会大打折扣。我曾经参与过一个林业调查项目,团队在深山老林里经常遇到没信号的情况&…...

G-Helper:华硕笔记本用户如何告别臃肿控制软件,实现极致性能优化?

G-Helper:华硕笔记本用户如何告别臃肿控制软件,实现极致性能优化? 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting acro…...

告别Kibana臃肿!轻量级ES集群管理神器Cerebro保姆级安装教程(CentOS 7.x + Java 8)

轻量级ES集群管理神器Cerebro:CentOS 7.x环境下的高效部署指南 在Elasticsearch运维领域,资源消耗和功能实用性的平衡一直是技术团队面临的挑战。当Kibana的功能过于庞大而实际需求仅聚焦于基础集群管理时,Cerebro这款轻量级工具便成为了理想…...

终极免费时钟应用:Simple Clock如何帮你告别混乱,轻松管理每一天?[特殊字符]

终极免费时钟应用:Simple Clock如何帮你告别混乱,轻松管理每一天?🚀 【免费下载链接】Simple-Clock Combination of a beautiful clock with widget, alarm, stopwatch & timer, no ads 项目地址: https://gitcode.com/gh_m…...

YOLACT++模型训练后,如何用你的‘小模型’在真实场景中跑起来?从测试到部署的完整流程

YOLACT模型实战:从训练到部署的工业级落地指南 当你完成YOLACT模型训练后,那个躺在output文件夹里的.pth文件就像刚拿到驾照的新手——理论上已经具备上路资格,但距离成为老司机还有段距离。本文将带你跨越从训练完成到实际部署的最后一公里&…...

ClearerVoice-Studio:AI语音处理技术深度解析与实战指南

ClearerVoice-Studio:AI语音处理技术深度解析与实战指南 【免费下载链接】ClearerVoice-Studio An AI-Powered Speech Processing Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Enhancement, Separation, and Target Speaker Extraction, et…...

Python 条件,循环语句详解

1、Python 条件语句Python 条件语句是通过一条或多条语句的执行结果来决定执行的代码块。Python 编程中 if 语句用于控制程序的执行。Python 不支持使用 switch 语句,所以当有多个条件判断时,只能使用 elif 来进行编程。if 语句的基本形式为:123456if (条…...

Ubuntu Rockchip完整指南:为RK3588设备快速构建定制化Ubuntu系统

Ubuntu Rockchip完整指南:为RK3588设备快速构建定制化Ubuntu系统 【免费下载链接】ubuntu-rockchip Ubuntu for Rockchip RK35XX Devices 项目地址: https://gitcode.com/gh_mirrors/ub/ubuntu-rockchip Ubuntu Rockchip是一个社区驱动的开源项目&#xff0c…...

京东购物评价自动化终极指南:告别繁琐评价,释放你的宝贵时间

京东购物评价自动化终极指南:告别繁琐评价,释放你的宝贵时间 【免费下载链接】jd_AutoComment 自动评价,仅供交流学习之用 项目地址: https://gitcode.com/gh_mirrors/jd/jd_AutoComment 还在为京东购物后堆积如山的评价任务而烦恼吗?…...

如何快速掌握SAM-HQ:从源码编译到自定义模块扩展的完整指南

如何快速掌握SAM-HQ:从源码编译到自定义模块扩展的完整指南 【免费下载链接】sam-hq Segment Anything in High Quality [NeurIPS 2023] 项目地址: https://gitcode.com/gh_mirrors/sa/sam-hq SAM-HQ(Segment Anything in High Quality&#xff0…...

Python 循环函数详细介绍

一、循环函数1、for循环for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。基本构造是12for 元素 in 序列: statement举例来说,我们编辑一个叫forDemo.py的文件12for a in [3,4.4,life]:print a这个循环就是每次从表[3,4.4,life] 中取出一…...

UnityStandaloneFileBrowser跨平台实战:Windows、Mac、Linux三平台兼容性深度解析

UnityStandaloneFileBrowser跨平台实战:Windows、Mac、Linux三平台兼容性深度解析 【免费下载链接】UnityStandaloneFileBrowser A native file browser for unity standalone platforms 项目地址: https://gitcode.com/gh_mirrors/un/UnityStandaloneFileBrowser…...

抖音无水印下载器技术解析:从单点突破到批量处理的全栈解决方案

抖音无水印下载器技术解析:从单点突破到批量处理的全栈解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallb…...

5步掌握FanControl:Windows智能风扇控制终极指南

5步掌握FanControl:Windows智能风扇控制终极指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanC…...

Ryan Bates Dotfiles Zsh 插件系统深度解析

Ryan Bates Dotfiles Zsh 插件系统深度解析 【免费下载链接】dotfiles config files for zsh, bash, completions, gem, git, irb, rails 项目地址: https://gitcode.com/gh_mirrors/dotfiles4/dotfiles Ryan Bates 的 Dotfiles 项目为 Zsh 用户提供了一套功能丰富且高度…...

你的 Vue 路由,VuReact 会编译成什么样的 React 路由?

VuReact 是一个能将 Vue 3 代码编译为标准、可维护 React 代码的工具。今天我们从 Vue Router 宏观对照入手,看看 Vue 中的路由组件、API 与入口结构,经过 VuReact 编译后会变成什么样的 React 路由代码。 另外,本文仅展示部分路由组件与 AP…...

你的ESP32项目需要BGM?手把手教你用无源蜂鸣器做个迷你音乐盒(附《成都》《后来》等流行歌曲库)

用ESP32和无源蜂鸣器打造你的专属音乐盒:从《成都》到《后来》的完整实现指南 你是否想过给自己的智能家居项目添加一点音乐氛围?或者为机器人制作一个会唱歌的小彩蛋?ESP32开发板搭配无源蜂鸣器,就能实现这个有趣的想法。不同于简…...