这样安装python库才是最正确的哦_这样安装 Python 库才是最正确的哦~
原标题:这样安装 Python 库才是最正确的哦~
分享一篇之前的文章,里面的这个Python知识点,可能很多人都还不清楚。
平常我都是直接执行 pip install安装的第三方库,很多教程也是这么介绍的,一直以来我都认为这是标准的、正确的安装 Python 第三方库的姿势。直到我最近看到Python核心开发者Brett Cannon 写的一篇文章。
简单总结来说,他认为其实最正确的安装方式是使用 python-m pip来执行 pip 命令,无论什么情况下均是如此。
他在文章里大致提出了以下几个建议:
建议用 python - m pip 安装三方库
务必使用虚拟环境,不要安装至系统 Python
建议用 pipx 独立安装工具
建议用 python - m venv 创建虚拟环境
可以将容器整体作为一个环境,跳过虚拟环境
我简单解释下每个建议背后的理由。
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/
责任编辑:
这样安装python库才是最正确的哦_这样安装 Python 库才是最正确的哦~相关推荐
- 下列关于python运算符的使用描述正确的是_以下关于 Python 字符串的描述中,正确的是( )...
[单选题]3*1**3 表达式输出结果为________ [多选题]以下的布尔代数运算正确的是( ) [单选题]下列________不是Python的数据类型. [单选题]下列不是Python语言关键 ...
- 以下用来处理python字典的方法中正确的是_以下关于Python的说法中正确的是哪一项?...
[判断题]Python内置函数len____可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. [判断题]Python内置函数max____用来返回序列中的最大元素. [判断题]Py ...
- python文件路径拼接多出斜杠_浅谈python中拼接路径os.path.join斜杠的问题
浅谈python中拼接路径os.path.join斜杠的问题 调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠 directory1='/opt/apps/upgradePac ...
- python中协程与函数的区别_深入浅析python 协程与go协程的区别
进程.线程和协程 进程的定义: 进程,是计算机中已运行程序的实体.程序本身只是指令.数据及其组织形式的描述,进程才是程序的真正运行实例. 线程的定义: 操作系统能够进行运算调度的最小单位.它被包含在进 ...
- python读json文件中不同的数据类型_怎么使用python提取json文件中的字段
python中为什么用json有什么作用 python的json模块中如何将变量添加到里面 python的json模块第一个是要打开的文件,第二个是打开的操作,为什么会如果你早认清你在别人心中没那么重 ...
- python学得好 牢饭吃的早_关于学习python的几个好习惯?
慕仰1329654 随着Python在国内的发展,特别是在自动化运维领域,运维开发者99%使用Python开发自动化运维平台:在软件行业里面使用Python编程语言的公司会越来越多,那么在学习Pyth ...
- Python 中list中所有值加和_深入认识Python中的itertools模块-Python教程
在Python中有一个功能强大的迭代工具包itertools,是Python自带的标准工具包之一. product 由于itertools是内置库,不需要任何安装,直接import itertools ...
- python下载matplotlib.finance模块_Python pyfinance包_程序模块 - PyPI - Python中文网
PyFinance pyfinance是一个python包,用于投资管理和安全回报分析. 它是对面向量化金融的现有软件包的补充,例如pyfolio, 熊猫数据读取器,以及fecon235 支持巨蟒3. ...
- python在d盘增加环境变量配置_怎样配置Python环境变量
展开全部 第一步:制 找到你的python安装的目录 比如我的bai安装在D盘的python 2.7文件du夹zhi下面,我就dao找到这个文件夹. 然后复制这个文件地址 CTRL+C复制. 第二步: ...
最新文章
- 你也可以玩转Skype -- 基于Skype API开发外壳程序入门
- python知识:如何从图片的四周扩大一些尺寸
- 比特币钱包(4) BIP39 助记词
- PHP一个比较完善的树形结构代码
- 解决JBoss只能通过localhost访问不能通过IP的问题
- windows下的diskpart指令彻底格式化清除U盘
- mysql jquery tree_php mysql js实现树形菜单代码
- Bluetooth篇 开发实例之六 蓝牙RSSI计算距离
- NAT对数据业务的影响
- android模拟器模拟nfc功能吗,android – 开始使用NFC模拟器
- 金山词霸没有响应, 金山词霸与卡巴冲突问题解决方法?
- java实现上传文件
- 计算机考研统考压分吗,担忧!考研初试会被压分吗?
- 问题 A: 【动态规划】机器人军团(最大不下降子序列)
- 弘辽科技:淘宝标签商家是什么意思?注意哪些事项?
- 好佳居软装十大品牌 软装市场发展状况如何
- html 过滤引号,用js正则表达式过滤双引号的解决办法
- 极简设计模式 - UML类图几种线条
- mysql中高阶玩法系列(九)
- POJ 2305大数求余
热门文章
- 第三次学JAVA再学不好就吃翔(part43)--局部内部类访问局部变量
- python基础(part1)--注释/变量/del语句
- SAP Spartacus Multi-Site Configuration
- SAP Hybris WCMS cockpit 的登录 url
- 本地开发好的 SAP Fiori Elements 应用,如何部署到 ABAP 服务器上?
- SAP Spartacus B2B 页面 info icon 设计 - 版本1.0
- 从一个实际的例子出发,谈谈SAP Commerce Cloud电商云的UI自定义开发
- Angular里ngClass的一个使用例子
- 打印SAP Spartacus generic link指向的url
- SAP Spartacus TypeScript源代码中的三个点用法