几种python常见的包管理方式

Python 包管理是开发过程中非常重要的一部分,用于安装、管理、和卸载依赖项。以下是几种常见的 Python 包管理方式:

1. pip (Python Package Index Installer)

  • 功能: pip 是 Python 自带的包管理工具,可以从 PyPI 安装、升级和卸载 Python 包。
  • 使用示例:
    • 安装包: pip install package_name
    • 卸载包: pip uninstall package_name
    • 查看已安装包: pip list
    • 查看包信息: pip show package_name
    • requirements.txt 安装: pip install -r requirements.txt
  • 优点: pip 是标准的包管理工具,支持大多数 Python 项目和库。

2. Conda

  • 功能: Conda 是一个跨平台的包管理和环境管理系统,支持 Python 和其他编程语言。除了管理 Python 包,它还可以管理如 CRJava 这样的包,并可以管理虚拟环境。

  • 使用示例:

    • 创建环境: conda create --name myenv

    • 激活环境: conda activate myenv

    • 安装包: conda install package_name

    • 卸载包: conda remove package_name

    • 查看已安装包: conda list

    • 查看环境: conda env list

      tips: 如果当前环境已经激活了conda,那么直接使用pip命令即可,安装和卸载等操作都会再当前conda环境下。

  • 优点: Conda 提供了强大的环境管理功能,并且安装包时可以自动处理依赖关系和冲突,特别适合科学计算和数据科学领域。

3. Virtualenv

  • 功能: virtualenv 是一个工具,用于创建隔离的 Python 虚拟环境。每个虚拟环境都有自己独立的 Python 解释器和安装的包。
  • 使用示例:
    • 创建虚拟环境: virtualenv venv
    • 激活虚拟环境:
      • Windows: venv\Scripts\activate
      • Mac/Linux: source venv/bin/activate
    • 退出虚拟环境: deactivate
  • 优点: virtualenv 非常轻量,可以避免全局 Python 环境的依赖冲突。

4. Pipenv

  • 功能: Pipenv 是一个结合了 pipvirtualenv 功能的工具,专注于简化 Python 项目中的依赖管理和虚拟环境管理。它使用 Pipfile 来管理依赖项。

  • 使用示例:

    • 创建环境并安装包: pipenv install package_name
    • 激活环境: pipenv shell
    • 查看依赖: pipenv graph
    • 锁定依赖: pipenv lock
  • 优点: Pipenv 简化了项目依赖的管理,并自动生成锁定文件 Pipfile.lock,确保依赖的一致性。

5. Poetry

  • 功能: Poetry 是一个现代的依赖管理和打包工具,能够管理项目的依赖并简化发布流程。它使用 pyproject.toml 文件管理依赖。

  • 使用示例:

    • 创建新项目: poetry new myproject
    • 安装依赖: poetry add package_name
    • 激活虚拟环境: poetry shell
    • 发布包: poetry publish

    tips:有点类似于java的maven管理概念和gradle工具,在项目组人多的情况下使用可以避免产生一些包的冲突。

  • 优点: Poetry 提供了一体化的项目管理体验,包括依赖管理、虚拟环境管理和打包发布功能,适合现代 Python 项目的开发。

6. Pipx

  • 功能: Pipx 是一个专门用于隔离和管理 Python 应用的工具,适合安装和运行独立的 Python 命令行工具。每个工具都安装在独立的虚拟环境中。
  • 使用示例:
    • 安装工具: pipx install package_name
    • 卸载工具: pipx uninstall package_name
    • 运行命令: pipx run command_name
  • 优点: Pipx 确保每个命令行工具运行在自己的隔离环境中,避免全局依赖冲突。

其他

另外,如果自己的机器中有多个python环境,不确定当天哪个在生效,可以随意指定一个包看下包的路径:pip show 已知的包名

总结

  • pip 是最基础的包管理工具,几乎适用于所有场景。
  • Conda 更适合需要管理环境和多种语言依赖的复杂项目,尤其是数据科学领域。
  • VirtualenvPipenv 都是轻量的虚拟环境管理工具,适合独立的 Python 项目。
  • Poetry 是现代 Python 项目管理的全能工具,推荐用于新项目。
  • Pipx 则非常适合安装和管理独立的命令行工具。
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值