conda、poetry,pip相关

devtools/2025/3/18 5:52:14/

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/devtools/168001.html

相关文章

【Leetcode 每日一题】1963. 使字符串平衡的最小交换次数

问题背景 给你一个字符串 s s s,下标从 0 0 0 开始 ,且长度为偶数 n n n。字符串 恰好 由 n / 2 n / 2 n/2 个开括号 ‘[’ 和 n / 2 n / 2 n/2 个闭括号 ‘]’ 组成。 只有能满足下述所有条件的字符串才能称为 平衡字符串 : 字符串是…

ai-1 搭建python

努力学习ai 1、python下载 现在使用版本就不要使用python2了,不维护了。 下载地址:https://www.python.org/getit/ 2、安装 自定义安装,勾选下面两个复选框,剩下的就下一步 3、 测试安装成功否 4、idea安装插件 5、使用插件…

Go语言中的错误处理与异常恢复:性能对比与实践思考

Gone是一款轻量级Go依赖注入框架,通过简洁的标签声明实现自动组件管理。它提供零侵入设计、完整生命周期控制和极低运行时开销,让开发者专注于业务逻辑而非依赖关系处理。 项目地址: https://github.com/gone-io/gone 文章目录 Go的错误处理哲…

Linux信号的产生

目录 一、键盘也能发信号 1. 终端按键与信号 2. 核心转储是什么? 3. 核心转储的作用与调试应用 3.1 核心转储的核心价值 3.2 如何利用核心转储调试程序 3.3 Core Dump标志与进程状态 3.4 信号处理与特殊限制 二、系统函数发信号 1. kill函数 2. raise函数…

无SIM卡时代即将来临?eSIM才是智联未来?

在数字化与智能化飞速发展的今天,eSIM(嵌入式 SIM 卡)正悄然改变我们的连接方式。与传统物理 SIM 卡不同,eSIM 直接将 SIM 功能嵌入设备中,无需插拔卡片即可实现网络切换和设备连接。无论是智能手机、智能手表&#xf…

C#RTSP代理推流程序

将不支持rtsp的相机通过rtspserver实现推流 功能 1. rtsp交互 2. udp推流 3. Bitmap转H264

高级java每日一道面试题-2025年2月26日-框架篇[Mybatis篇]-Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式 ?

如果有遗漏,评论区告诉我进行补充 面试官: Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式 ? 我回答: 在Java高级面试中讨论MyBatis如何将SQL执行结果封装为目标对象并返回的过程时,我们可以从过程细节和映射形式两个方面来综合解答这个问…

芯谷D6211B:IP摄像头IR滤波器开关驱动的理想选择

在IP摄像头的设计中,IR滤波器的切换对于实现日夜转换功能至关重要。芯谷D6211B作为一款专为IR-Cut Removable(ICR)模块设计的IR滤波器开关驱动IC,以其低饱和电压、低待机电流和丰富的保护功能,为IP摄像头的IR滤波器切换…