Python是否有类似Node JS中NPM/Yarn的包管理器?
Python生态下对应NPM/Yarn的包管理器说明
Python生态存在多款成熟的包管理工具,完全覆盖NPM、Yarn的依赖安装、版本管控、项目依赖锁定等核心能力,主流工具及相关资源如下:
- pip:Python官方默认预装的基础包管理器,地位等同于Node.js生态的NPM,是目前普及度最高的Python包管理工具。常用命令包括
pip install <包名>安装依赖、pip list查看已安装依赖、pip freeze导出项目依赖列表。对应的公共包源平台为PyPI(Python包索引),几乎所有公开的Python第三方包都会同步到该平台,项目由Python软件基金会官方维护,代码仓库托管在GitHub官方组织下。 - Pipenv:整合了虚拟环境管理、依赖版本锁定能力的工具,定位类似Node.js生态的Yarn,解决了原生pip需要单独配置虚拟环境、依赖版本管控能力弱的痛点,会自动生成
Pipfile和Pipfile.lock文件记录项目依赖和版本信息,项目由PyPA(Python包管理局)维护,代码仓库托管在GitHub的pypa组织下。 - Poetry:当前生态内使用率增长最快的新一代包管理工具,除了基础的依赖管理、版本锁定能力外,还原生支持Python包的打包、发布全流程,依赖解析性能和准确性都优于Pipenv,是中大型Python项目的首选依赖管理工具之一,项目官方代码仓库托管在GitHub的python-poetry组织下。
- PDM:轻量型现代包管理器,支持最新的PEP 621项目配置标准,无需创建虚拟环境即可隔离管理项目依赖,启动速度和依赖解析速度优于同类工具,适合追求轻量化开发流程的开发者使用,项目官方代码仓库托管在GitHub的pdm-project组织下。
内容的提问来源于stack exchange,提问作者user14913615
相关产品推荐
相关产品推荐

