venv、virtualenv、pipenv、Poetry、Miniforge 和 Anaconda 都是用于管理 Python 环境和依赖关系的工具,但它们在功能和使用场景上有一些显著的区别。以下是它们的主要区别:
venv
virtualenv
pipenv
Poetry
Miniforge
Anaconda
pip
requirements.txt
python3 -m venv myenv
myenv
python3 -m venv myenv # 创建虚拟环境 source myenv/bin/activate # 激活环境 Linux/macOS myenv\Scripts\activate # 激活环境 Windows pip install requests # 安装包
pip install virtualenv # 安装 virtualenv virtualenv myenv # 创建虚拟环境 source myenv/bin/activate # 激活环境 Linux/macOS myenv\Scripts\activate # 激活环境 Windows pip install requests # 安装包
Pipfile
Pipfile.lock
pip install pipenv # 安装 pipenv pipenv install requests # 安装包 pipenv shell # 激活虚拟环境
pyproject.toml
lock
poetry.lock
setup.py
MANIFEST.in
pip install poetry poetry new my_project cd my_project poetry add requests poetry install # 创建虚拟环境并安装依赖
conda-forge
# 安装 Miniforge - Linux wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh bash Miniforge3-Linux-x86_64.sh # 创建环境 conda create --name my_env python=3.13 conda activate my_env # 安装包 conda install requests
AnaConda
environment.yml
# 安装 Anaconda 或 Miniconda wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh # 创建环境 conda create --name my_env python=3.13 conda activate my_env # 安装包 conda install requests
感谢原作者:weiqi 的整理分享!
原文链接:管理 Python 环境和依赖关系的工具 venv、virtualenv、pipenv 、poetry 、 miniforge 和 anaconda 的区别
补充一个pyenv😏
https://github.com/astral-sh/uv
哈哈,这个我在部署SD文生图本地大模型的时候用过
+1
miniforge 省心[爱心]
Popular Ranking
Popular Events
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 的区别