neko
deepin
2024-11-12 10:18 Ecological co-builder
Resources Team Moderator
补充一个pyenv😏
Reply Like 0 View the author
补充一个pyenv😏
https://github.com/astral-sh/uv
补充一个pyenv😏
哈哈,这个我在部署SD文生图本地大模型的时候用过
哈哈,这个我在部署SD文生图本地大模型的时候用过
+1
miniforge 省心[爱心]
venv
、virtualenv
、pipenv
、Poetry
、Miniforge
和Anaconda
都是用于管理 Python 环境和依赖关系的工具,但它们在功能和使用场景上有一些显著的区别。以下是它们的主要区别:venv
venv
是 Python 3.3 及以上版本标准库的一部分,专门用于创建 Python 虚拟环境。venv
可以创建独立的 Python 虚拟环境,每个环境有自己的一套 Python 解释器和包。venv
创建的环境通常较小,因为它们只包含必要的 Python 包。venv
本身不提供包管理功能,通常与pip
结合使用来安装和管理 Python 包。requirements.txt
文件来记录项目的依赖关系。python3 -m venv myenv
创建一个名为myenv
的虚拟环境。virtualenv
virtualenv
是一个独立的第三方工具,用于创建 Python 虚拟环境。venv
更早出现,功能也更丰富一些。适用于 Python 2 和 Python 3。virtualenv
可以创建独立的 Python 虚拟环境,每个环境有自己的一套 Python 解释器和包。virtualenv
本身不提供包管理功能,通常与pip
结合使用来安装和管理 Python 包。requirements.txt
文件来记录项目的依赖关系。pipenv
pipenv
是一个集成了virtualenv
和pip
的工具,用于管理虚拟环境和依赖关系。Pipfile
和Pipfile.lock
文件来管理项目的依赖关系。pipenv
会自动为每个项目创建和管理一个独立的虚拟环境,避免不同项目之间的依赖冲突。pipenv
自动处理依赖关系的解析和安装,确保项目的所有依赖都能正确安装。Pipfile.lock
文件,确保在不同环境中安装相同的依赖版本,支持语义化版本管理。pipenv
,通常通过pip
安装:Poetry
Poetry
是一个现代的 Python 包管理和环境管理工具,不仅管理虚拟环境,还管理项目的依赖关系。pyproject.toml
文件来管理项目的依赖关系,这个文件是 PEP 518 推荐的标准配置文件。Poetry
会自动为每个项目创建和管理一个独立的虚拟环境,避免不同项目之间的依赖冲突。Poetry
自动处理依赖关系的解析和安装,确保项目的所有依赖都能正确安装。lock
文件(poetry.lock
),确保在不同环境中安装相同的依赖版本。Poetry
提供了简便的命令来打包和发布 Python 包到 PyPI 或其他私有仓库。setup.py
和MANIFEST.in
文件,简化发布流程。Poetry
支持语义化版本管理,可以方便地管理项目的版本号。Poetry
提供了丰富的命令行工具,可以轻松地管理依赖项、构建和发布项目。Miniforge
Miniforge
是一个轻量级的 Anaconda 替代品,基于 Conda 包管理器。conda-forge
社区维护。Miniforge
使用 Conda 来管理虚拟环境,可以创建独立的环境,每个环境有自己的一套 Python 解释器和包。Miniforge
使用 Conda 来管理包,Conda 是一个跨平台的包管理系统,支持多种语言和工具。AnaConda
AnaConda
是一个开源的包管理和环境管理系统,支持多种语言和工具,而不仅仅是 Python。AnaConda
可以创建独立的环境,每个环境有自己的一套 Python 解释器和包。environment.yml
文件来定义环境和依赖。AnaConda
可以安装来自 Anaconda 仓库和其他自定义仓库的包。总结
Pipfile
和Pipfile.lock
文件来管理依赖关系。使用场景
感谢原作者:weiqi 的整理分享!
原文链接:管理 Python 环境和依赖关系的工具 venv、virtualenv、pipenv 、poetry 、 miniforge 和 anaconda 的区别