Python常用包管理器有哪些?
时间:2025-11-28 22:44:35 439浏览 收藏
还在为Python包管理烦恼吗?本文为你详细解读Python常用包管理器,助你高效管理项目依赖!主要介绍了pip、conda、pipenv、poetry、setuptools和venv等工具。其中,pip作为官方推荐的包管理工具,是安装、卸载和管理Python包的首选,配合venv可创建轻量级虚拟环境。conda则适用于数据科学项目,能管理Python及非Python依赖,并提供环境隔离。pipenv和poetry则分别针对中小型项目和大型工程化项目,提供更便捷的依赖管理和项目构建体验。了解这些工具的特点和适用场景,能帮助你更好地选择合适的包管理器,提升Python开发效率。
Python常用包管理器包括pip、conda、pipenv、poetry等,其中pip是官方推荐工具,用于安装、卸载和管理包,默认从PyPI下载;conda为跨平台工具,适用于数据科学项目,可管理Python及非Python依赖,并支持环境隔离;pipenv整合pip与virtualenv,自动管理虚拟环境并使用Pipfile记录依赖,提升开发体验;poetry功能全面,支持依赖管理、打包发布,采用pyproject.toml统一配置,适合工程化项目;setuptools配合pip使用,主要用于构建和分发包;venv为Python内置模块,结合pip创建轻量虚拟环境,是官方推荐的基础方案。日常开发中pip+venv适用大多数场景,数据科学多用conda,大型项目可选poetry或pipenv。

Python 有多个包管理器,用于安装、升级、卸载和管理第三方库。最常用的是 pip,但还有其他工具可以配合使用或作为替代方案。以下是主要的 Python 包管理器:
1. pip
pip 是 Python 官方推荐的包管理工具,几乎所有 Python 项目都使用它来安装包。
• 安装包:pip install package_name• 卸载包:
pip uninstall package_name• 查看已安装包:
pip list• 生成依赖文件:
pip freeze > requirements.txt
pip 默认从 PyPI(Python Package Index)下载包,支持源码和预编译的 wheel 包。
2. conda
conda 是一个跨平台的包管理器和环境管理器,常用于数据科学和科学计算领域,由 Anaconda 和 Miniconda 提供。
• 不仅能管理 Python 包,还能管理非 Python 的依赖(如 C 库、R 包等)• 可创建隔离的环境:
conda create -n myenv python=3.9• 安装包:
conda install package_name• 支持从 Anaconda Repository 和 Conda-Forge 等渠道获取包
适合需要复杂依赖或多种语言协作的项目。
3. pipenv
pipenv 是 pip 和 virtualenv 的封装工具,旨在简化依赖管理和虚拟环境操作。
• 自动创建和管理虚拟环境• 使用
Pipfile 和 Pipfile.lock 替代 requirements.txt• 安装包:
pipenv install package_name• 启用环境 shell:
pipenv shell
强调“开发体验”,适合中小型项目。
4. poetry
poetry 是现代 Python 项目管理工具,支持依赖管理、虚拟环境、打包和发布。
• 使用pyproject.toml 统一配置项目信息和依赖• 可创建锁文件
poetry.lock 确保可复现安装• 支持发布包到 PyPI
• 命令示例:
poetry add requests
适合希望统一开发、构建和发布流程的项目。
5. setuptools 与 pip 配合使用
setuptools 本身不是包管理器,但它是构建和分发 Python 包的核心工具,常与 pip 联动。
• 用于定义可安装的包结构(setup.py 或 pyproject.toml)• pip 安装本地包时会调用 setuptools 构建
开发者在发布包时通常需要它。
6. venv + pip(标准库组合)
Python 3.3+ 内置 venv 模块,可创建轻量虚拟环境,通常与 pip 搭配使用。
python -m venv myenv• 激活环境(Linux/macOS):
source myenv/bin/activate• 激活环境(Windows):
myenv\Scripts\activate• 然后使用 pip 安装包
这是官方推荐的基础方式,简单可靠。
基本上就这些主流选择。日常使用中,pip + venv 足够大多数场景;数据科学常用 conda;追求工程化可选 poetry 或 pipenv。根据项目需求和个人偏好选择即可。
好了,本文到此结束,带大家了解了《Python常用包管理器有哪些?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
112 收藏
-
324 收藏
-
429 收藏
-
348 收藏
-
391 收藏
-
324 收藏
-
213 收藏
-
340 收藏
-
292 收藏
-
109 收藏
-
140 收藏
-
447 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习