Python社区  »  Python

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

编程派 • 2 周前 • 34 次点击  

后台回复【入门资料

送你十本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 中。

大佬的文章链接:https://snarky.ca/why-you-should-use-python-m-pip/

以上。

回复下方「关键词」,获取优质资源


回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~


推荐阅读



题图:pexels,CC0 授权。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49215
 
34 次点击  
分享到微博