【笔记】结合 Conda任意创建和配置不同 Python 版本的双轨隔离的 Poetry 虚拟环境

发布于:2025-06-09 ⋅ 阅读:(23) ⋅ 点赞:(0)

如何结合 Conda 任意创建和配置不同 Python 版本的双轨隔离的Poetry 虚拟环境?

在 Python 开发中,为不同项目配置独立且适配的虚拟环境至关重要。结合 Conda 和 Poetry 工具,能高效创建不同 Python 版本的 Poetry 虚拟环境,接下来将详细阐述其完整流程及逻辑关联。

一、准备工作:明确需求与工具定位

Poetry 虚拟环境的创建,需要依赖特定 Python 版本的运行环境,同时还需要 Poetry 工具来管理项目依赖和虚拟环境配置。而 Conda 恰好能解决 Python 版本管理的问题,通过 Conda 可以快速创建不同 Python 版本的基础环境,而不直接使用conda虚拟环境,双轨隔离为 Poetry 虚拟环境的搭建提供底层支持。

二、使用 Conda 创建不同 Python 版本的基础环境

Conda 是一个强大的环境管理工具,通过它可以轻松创建指定 Python 版本的环境。

# 创建 Python 3.11 环境
conda create -n python311 python=3.11 -y
# 创建 Python 3.12 环境
conda create -n python312 python=3.12 -y
# 按需继续创建

上述命令中,-n 参数用于指定环境名称,方便区分不同版本的 Python 环境;python=3.11 或 python=3.12 明确指定了要安装的 Python 版本;-y 表示自动确认安装,避免交互式提示。创建完成后,使用以下命令激活相应环境:

# 激活 Python 3.11 环境
conda activate python311

 

三、获取 python.exe 和 poetry.exe 文件

(一)python.exe 的来源

当使用 Conda 创建 Python 环境时,相应版本的 Python 解释器(python.exe)会被安装在 Conda 环境目录下。以 Windows 系统为例,Python 3.11 环境中的 python.exe 路径可能为 D:\ProgramData\anaconda3\envs\python311\python.exe ,该文件是后续创建 Poetry 虚拟环境的核心执行文件,它决定了 Poetry 虚拟环境所基于的 Python 版本。

(二)poetry.exe 的安装与获取

在激活的 Conda 环境中,使用 pip 安装 Poetry 工具:

pip install poetry

安装完成后,Poetry 的可执行文件(poetry.exe)会被放置在 Conda 环境的 Scripts 目录下。

例如在 Windows 系统 Python 3.11 的 Conda 环境中,poetry.exe 的路径通常为 D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe 。这个文件将用于后续 Poetry 虚拟环境的创建、依赖管理等操作。

  • Python 可执行文件路径示例:

    D:\ProgramData\anaconda3\envs\python311\python.exe
    D:\ProgramData\anaconda3\envs\python312\python.exe
  • Poetry 可执行文件路径示例:

    D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe
    D:\ProgramData\anaconda3\envs\python312\Scripts\poetry.exe

四、使用命令创建 Poetry 虚拟环境

在获取了所需的 python.exe 和 poetry.exe 文件后,在激活的 Conda 环境中,切换到项目目录,即可使用 Poetry 命令创建虚拟环境。

一)在 PowerShell 中操作

& "D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe" config virtualenvs.create true
& "D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe" init
# 填写项目信息后再继续执行以下命令
& "D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe" install

(二)在 CMD 中操作

"D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe" config virtualenvs.create true
"D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe" init
# 填写项目信息后再继续执行以下命令
"D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe" install

其中:

poetry config virtualenvs.create true 确保自动创建虚拟环境;

poetry init 会引导用户初始化项目,生成 pyproject.toml 文件,用于记录项目信息和依赖配置;

poetry install 则根据 pyproject.toml 文件安装项目所需的依赖包。

 

到了这一步后,我们可以按照提示填写项目信息以完成 pyproject.toml 文件的创建。

填写项目信息

以下是 poetry init 命令会提示我们填写的一些常见项目信息:

  1. Package name: 你的项目的名称。
    默认情况下,Poetry 会使用当前目录的名称作为项目名称。
    我们可以直接按回车键接受默认值,或者输入新的项目名称。

  2. Version: 项目的版本号。
    默认格式为 0.1.0,我们可以根据需要修改。

  3. Description: 项目的简短描述。
    这将帮助其他人了解我们的项目的用途。

  4. Author name: 项目作者的名称。
    我们可以输入我们的名字或团队名称。

  5. License: 项目的开源协议。
    例如 “MIT” 是一种常见的选择。

  6. Python version: 项目所需的 Python 版本范围。
    例如,输入 ^3.11 表示项目兼容 Python 3.11 及以上版本。

  7. Dependencies: 项目运行所需的依赖包。
    我们可以按提示依次输入依赖包的名称和版本要求。

示例填写过程

假设我们的项目名称是 suna,你可以这样填写:

This command will guide you through creating your pyproject.toml config.

Package name [suna]: 
Version [0.1.0]: 
Description []: My new Python project
Author name []: Your Name
License []: MIT
Python version (^3.11): 
Would you like to define your main dependencies now? (yes/no) [yes]: yes
Would you like to define your development dependencies now? (yes/no) [yes]: yes

生成的 pyproject.toml 文件示例

根据你提供的信息,Poetry 会生成一个类似以下内容的 pyproject.toml 文件:

[tool.poetry]
name = "suna"
version = "0.1.0"
description = "My new Python project"
authors = ["Your Name"]
license = "MIT"

[tool.poetry.dependencies]
python = "^3.11"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

完成这些步骤后,我们的项目配置就初始化完成了。

接下来,我们可以使用 Poetry 来管理项目的依赖和构建等操作。

 

五、在 PyCharm 中配置使用 Poetry 虚拟环境(推荐)

(一)打开项目设置

点击 PyCharm 顶部菜单栏的 “文件”->“设置”->“项目:你的项目名称”->“添加 Python 解释器” 。

 

(二)添加 Poetry 解释器

在 Python 解释器设置界面,点击齿轮图标,选择 “添加现有解释器”或者“生成新的”


在弹出的窗口中,选择 “Poetry” 作为解释器类型,并指定 Poetry 的路径,即之前获取的 poetry.exe 文件路径(如 D:\ProgramData\anaconda3\envs\python311\Scripts\poetry.exe );

然后指定Poetry env use (python.exe)的路径

(如D:\ProgramData\anaconda3\envs\python311\python.exe)

Poetry 会自动管理虚拟环境,确保虚拟环境在项目目录内创建,点击 “确定” 完成配置。

 

(三)验证配置

在 PyCharm 的终端中运行 poetry --version 命令,若能正确输出版本信息,且后续项目依赖安装、代码运行等操作正常,则说明 Poetry 虚拟环境配置成功。

poetry -V
#或者
poetry --version

 

通过以上步骤,我们基于 Conda 创建了不同 Python 版本的基础环境,获取了所需的执行文件,使用 Poetry 命令创建了虚拟环境,并在 PyCharm 中完成了配置,实现了结合 Conda 任意创建和配置不同 Python 版本的 Poetry 虚拟环境,有效避免项目间的依赖冲突,提升开发效率。