conda、poetry,pip相关

news/2025/3/22 1:35:30/

poetry

poetry 是一个 Python 打包和依赖管理工具,旨在简化 Python 包的创建、发布和依赖管理。与传统的 setuptools、pip 和 requirements.txt 的组合相比,poetry 提供了一个统一和简化的工具和工作流程。

以下是关于 poetry 的详细介绍:

主要特点:

声明式的依赖管理: 通过 pyproject.toml 文件,你可以明确地指定项目的依赖和版本。

自动生成 lock 文件: 类似于 JavaScript 的 yarn 或 Ruby 的 Bundler,poetry 会生成一个 poetry.lock 文件,确保在所有环境中的依赖都是确定和一致的。

虚拟环境管理: 默认情况下,poetry 为每个项目自动创建和管理一个虚拟环境。

包构建和发布: 使用单个工具,你可以构建和发布你的包到 PyPI。

完整的依赖解析: poetry 有一个强大的依赖解析算法,确保项目的所有依赖都是相容的,且没有版本冲突。

管理 Python 版本: 你可以在 pyproject.toml 文件中指定 Python 的版本,确保所有开发者和环境使用同样版本的 Python。

使用方法:

  1. 安装:

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

2.创建新项目:

poetry new project-name

3.添加新的依赖:

poetry add package-name

4.安装依赖:

poetry install

5.查看虚拟环境路径:

poetry env info --path

6.定义和使用脚本:

在 pyproject.toml 文件中,您可以定义脚本,类似于 npm 的脚本。例如:

[tool.poetry.scripts]

start = “python main.py”

然后,您可以使用以下命令来运行该脚本:

poetry run start

这将执行 python main.py,而且这个命令将在 Poetry 的虚拟环境中执行。

poetry踩坑

1、尽量使用官网推荐的curl的方式来安装poetry

2、poetry环境可以建立在conda环境上面;

3、poetry环境如果出错,可以通过删除环境,再新建环境来解决,方式是先通过poetry env info 找到当前env的Path,然后执行rm -rf删除掉,然后再执行poetry install。

conda_89">conda

在 Conda 中,可以使用 环境(Environment) 来管理不同的 Python 版本和依赖包。你可以为不同的项目或用途创建独立的环境,避免包冲突和影响全局环境。


1. 创建指定环境

你可以使用 -n 选项指定环境名称,并选择 Python 版本:

conda create -n my_env_name python=3.11

示例:

conda create -n openai_env python=3.11

这会创建一个名为 openai_env 的环境,并安装 Python 3.11。


2. 激活环境

创建后,你需要激活它:

conda activate my_env_name

示例:

conda activate openai_env

激活后,所有 conda installpip install 都会安装在该环境内,而不会影响其他环境。


3. 在环境中安装包

在指定的 Conda 环境中安装 openai

conda install -n openai_env -c conda-forge openai

如果 conda 没有 openai,可以用 pip

conda activate openai_env
pip install openai

4. 查看已有环境

要查看当前所有 Conda 环境:

conda env list

示例输出:

# conda environments:
#
base                  *  /home/user/miniconda3
openai_env               /home/user/miniconda3/envs/openai_env

* 号表示当前激活的环境。


5. 删除环境

如果不再需要,可以删除环境:

conda remove -n openai_env --all

6. 在 Jupyter Notebook 中使用 Conda 环境

如果你要在 Jupyter Notebook 中使用 Conda 环境,先激活环境:

conda activate openai_env
pip install ipykernel
python -m ipykernel install --user --name=openai_env

然后在 Jupyter Notebook 选择 openai_env 作为 Kernel。


总结

任务命令
创建环境conda create -n my_env_name python=3.11
激活环境conda activate my_env_name
在环境中安装包conda install -n my_env_name package_name
查看所有环境conda env list
删除环境conda remove -n my_env_name --all
在 Jupyter 中使用pip install ipykernel + python -m ipykernel install --user --name=my_env_name

这样,你就可以在 Conda 中指定不同的环境来管理 Python 代码了!🚀

pypi包管理

类似maven仓库,可以查看发布的包,是包的源管理。


http://www.ppmy.cn/news/1581027.html

相关文章

Web 小项目: 网页版图书管理系统

目录 最终效果展示 代码 Gitee 地址 1. 引言 2. 留言板 [热身小练习] 2.1 准备工作 - 配置相关 2.2 创建留言表 2.3 创建 Java 类 2.4 定义 Mapper 接口 2.5 controller 2.6 service 3. 图书管理系统 3.1 准备工作 - 配置相关 3.2 创建数据库表 3.2.1 创建用户表…

ChatTTS 开源文本转语音模型本地部署 API 使用和搭建 WebUI 界面

ChatTTS(Chat Text To Speech),专为对话场景设计的文本生成语音(TTS)模型,适用于大型语言模型(LLM)助手的对话任务,以及诸如对话式音频和视频介绍等应用。支持中文和英文,还可以穿插笑声、说话间的停顿、以…

使用 Hyperlane 框架的 WebSocket 功能

使用 Hyperlane 框架的 WebSocket 功能 概述 hyperlane 是一个轻量级且高性能的 Rust HTTP 服务器库,支持 HTTP 请求解析、响应构建、TCP 通信,同时也支持 WebSocket 和 SSE 等实时通信协议。hyperlane 框架内置了 WebSocket 支持,能够自动…

Spark 中的Shuffle过程

Shuffle是Spark中一个非常重要的概念,但它也是一个昂贵的操作。以下是对Shuffle过程的详细解释以及它为什么昂贵的原因。 1. 什么是Shuffle? Shuffle是Spark中重新分配数据的过程,通常发生在需要对数据进行重新分组或聚合的操作中&#xff0…

批量文件分析器:使用Python从PPT和PDF中提取文本

批量文件分析器:从PPT和PDF中提取文本 📰🔍 你好,小伙伴们!今天我们来聊聊如何批量处理和分析PDF与PPT文件内容。我们会使用一个Python脚本,帮你提取文件的文本内容。此工具特别适合需要处理大量文档的朋友…

HW华为流程管理体系精髓提炼华为流程运营体系(124页PPT)(文末有下载方式)

资料解读:HW华为流程管理体系精髓提炼华为流程运营体系(124页PPT) 详细资料请看本解读文章的最后内容。 华为作为全球领先的科技公司,其流程管理体系的构建与运营是其成功的关键之一。本文将从华为流程管理体系的核心理念、构建…

信号处理等相关知识点

TDNN(时延神经网络)--CNN神经网络的基础 普通神经网络: 只包含一帧的特征向量 MFCC :用于语音特征提取的算法,提取出音色(很能区分不同人的说话声音)。 TDNN 滤波器:重要特征提取。 迁移学习 小波散射变换 (WST) 小波变换--傅里叶时间无限-》时间局域 点乘:求向…

汽车一键启动系统使用方便,舒适出行,轻松匹配

汽车一键启动系统 系统定义 移动管家汽车一键启动系统是装置在智能汽车上的一部分,是实现简约打火和熄火过程的一个按钮装置。它可以在原车钥匙锁头的位置改装,也能独立面板改装,现在很多高低配置的车辆都可安装。 功能特点 基本功能 启…