原来我一直安装 Python 库的姿势都不对呀

 更新时间:2019年11月11日 14:22:01   投稿:mrr  
平常我都是直接执行 pip install 安装的第三方库,很多教程也是这么介绍的,一直以来我都认为这是标准的、正确的安装 Python 第三方库的姿势。下面小编给大家分享一篇教程,一起看看吧

平常我都是直接执行 pip install 安装的第三方库,很多教程也是这么介绍的,一直以来我都认为这是标准的、正确的安装 Python 第三方库的姿势。直到我最近看到Python核心开发者Brett Cannon 写的一篇文章。

简单总结来说,他认为其实最正确的安装方式是使用 python-m pip 来执行 pip 命令,无论什么情况下均是如此。

他在文章里大致提出了以下几个建议:

  1. 建议用 python-m pip 安装三方库
  2. 务必使用虚拟环境,不要安装至系统 Python
  3. 建议用 pipx 独立安装工具
  4. 建议用 python-m venv 创建虚拟环境
  5. 可以将容器整体作为一个环境,跳过虚拟环境

我简单解释下每个建议背后的理由。

1. 建议用 python-m pip 安装三方库

理由是这样做,可以实现更加准确地控制库所安装的位置。

不少人的电脑里,会同时安装不同版本的 Python。少数极端的用户甚至会安装不同的小版本,如 3.7 和 3.7.4。这是直接用 pip的话,你自己可能都不清楚最终安装到了哪个版本的Python 下面。

python-m pip 命令,可以让你直接指定要安装到哪个版本。

2. 务必使用虚拟环境,不要安装至系统 Python

这个建议应该很多人都认同,在实践中也是这样执行的。如果不用虚拟环境隔离的话,系统版本的三方库会变得特别的庞杂,甚至出现系统依赖库的版本不合理,导致系统崩溃的严重问题。

3. 建议用 pipx 独立安装工具

如果你想尝试 black、mypy 等开发工具,可以考虑通过 pipx 将这些工具各自安装到独立的环境中,同时又能够直接在系统环境下调用终端的入口。

4. 建议用 python-m venv 创建虚拟环境

Brett 个人更倾向于使用 python-m venv 命令创建虚拟环境,理由和第一点建议相同,可以获得更大的控制权,精确指定所使用的版本。

当然,使用 virutalenv 也是一个非常普遍的方式。

5. 可以将容器整体作为一个环境,跳过虚拟环境

如果项目是容器化开发的,那么把每个容器当做成一个个独立的虚拟环境使用也是没有问题的。在容器里没有必要再单独去创建虚拟环境了。

当然前提是,你不要安装到系统自带的 Python 中。

总结

以上所述是小编给大家介绍的安装python库的正确姿势,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • python实现吃苹果小游戏

    python实现吃苹果小游戏

    这篇文章主要为大家详细介绍了python实现吃苹果小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Pandas数据形状df.shape的实现

    Pandas数据形状df.shape的实现

    本文主要介绍了Pandas数据形状df.shape的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Python偏函数实现原理及应用

    Python偏函数实现原理及应用

    这篇文章主要介绍了Python偏函数实现原理及应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 用Python编写web API的教程

    用Python编写web API的教程

    这篇文章主要介绍了用Python编写web API的教程,示例代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】

    Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】

    这篇文章主要介绍了Python实现曲线拟合操作,结合实例形式分析了Python基于numpy,scipy,matplotlib库读取csv数据、计算曲线拟合及图形绘制相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • 在Python中,不用while和for循环遍历列表的实例

    在Python中,不用while和for循环遍历列表的实例

    今天小编就为大家分享一篇在Python中,不用while和for循环遍历列表的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python-openpyxl表格读取写入的案例详解

    Python-openpyxl表格读取写入的案例详解

    这篇文章主要介绍了Python-openpyxl表格读取写入的案例分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • python列表list保留顺序去重的实例

    python列表list保留顺序去重的实例

    今天小编就为大家分享一篇python列表list保留顺序去重的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • pandas修改DataFrame列名的实现方法

    pandas修改DataFrame列名的实现方法

    这篇文章主要介绍了pandas修改DataFrame列名的实现方法, 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • 利用Python实现简易计算器的示例代码

    利用Python实现简易计算器的示例代码

    最近学习了字符串,运算符,条件语句,循环语句,我在想可以用我最近学的东西做什么? 看到运算我就想到了可以做一个简易的计算器,感兴趣的可以了解一下
    2022-11-11

最新评论