python里面的pip是什么意思_为什么您应该使用`python -m pip`
python -m pip是什么?
首先,python -m pip会使用您指定为python的Python解释器来执行pip。因此,/usr/bin/python3.7 -m pip表示您正在执行位于/usr/bin/python3.7的解释器的pip。如果您不熟悉这个标志以及它是如何工作的,您可以阅读有关-m的文档(它非常方便)。
为什么使用 python -m pip 而不是 pip/pip3?
所以您可能会说,“好的,但是我不能通过执行pip命令来运行pip吗?”答案是“可以,但是您对它的控制会更少”,我将用一个例子来解释我所说的“控制会更少”是什么意思。
假设我已经安装了Python的两个版本,比如Python 3.7和3.8(由于Python会预先安装在macOS和Linux上,这对人们来说是很常见的,更不用说您之前已经安装了Python 3.7,您还是会安装Python 3.8来使用它)。现在,如果您在您的终端中键入pip,那么它将为哪个Python解释器安装库呢?
在没有更多的细节的情况下,您的答案是您不知道。首先,您必须知道我的PATH设置是什么,比如/usr/bin是在/usr/local/bin之前还是之后(这些是安装Python的常见位置,通常优先安装于/usr/local/目录)。好的,只要您记得您安装Python 3.7和3.8的地方,它们是不同的目录,您就会知道哪个版本的pip在PATH上先出现。假设您都是手动安装它们的,也许您的操作系统附带了Python 3.7.3,而您又安装了Python 3.7.5。在这种情况下,Python的两个版本都安装在/usr/local/bin中。现在您能告诉我pip与哪个解释器相关联吗?
答案是您仍然不知道。除非您知道您在什么时候安装了每个版本,从而就会知道被写到/usr/local/bin/pip的最后一个pip副本是什么,否则您就不知道哪个解释器的pip将被用于执行pip命令。现在您可能会说,“我总是会安装最新的版本,这意味着Python 3.8.0是最后安装的,因为它比3.7.5更新。”好的,但是当Python 3.7.6出现时会发生什么呢?您的pip命令将会从使用Python 3.8变为使用Python 3.7。
但是当您使用python -m pip时,而python是您希望使用的特定解释器时,所有上述的模糊性都消失了。如果我使用python3.8 -m pip,那么我就知道pip将会在我的Python 3.8解释器中使用和安装(如果我使用的是python3.7,那么情况也一样)。
如果您是在Windows上运行,使用python -m pip还有一个额外的好处,那就是它可以让pip自我更新。基本上,当您执行pip install --upgrade pip时,系统会认为pip.exe正在运行,因此,Windows是不会让您覆盖pip.exe的。但是,如果您执行python -m pip install --upgrade pip,就可以避免这个问题,因为正在运行的是python.exe,不是pip.exe。
python里面的pip是什么意思_为什么您应该使用`python -m pip`相关推荐
- python里面的dict和set
python里面的dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速 ...
- python里面的tuple与list对比
python里面的tuple与list对比 tuple 另一种有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: >> ...
- python里面的list
python里面的list list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: ...
- 小福利,运用python里面的talib模块和cufflinks模块实现stock可视化分析
小福利,运用python里面的talib模块和cufflinks模块实现stock可视化分析 import pandas as pd from sqlalchemy import create_eng ...
- python里面的pip是什么意思_“pip install”和“python -m pip install”有什么区别?
我有一个本地版本的Python 3.4.1,我可以运行python -m pip install,但是我无法找到pip二进制文件来运行pip install.这两者有什么区别? 解决方法: 他们完全一 ...
- python正则表达式中的r与转义字符_左手用R右手Python系列13——字符串处理与正则表达式...
原标题:左手用R右手Python系列13--字符串处理与正则表达式 杜雨,EasyCharts团队成员,R语言中文社区专栏作者,兴趣方向为:Excel商务图表,R语言数据可视化,地理信息数据可视化.个 ...
- python 去掉list元素的双引号_一天快速入门 Python
Python 是由Guido Van Rossum在 90 年代早期设计,现在是最常用的编程语言之一.特别是人工智能的火热,再加之它的语法简洁且优美,实乃初学者入门AI必备的编程语言. Python基 ...
- python零基础入门五小时教学_五小时轻松入门Python
Python 是由Guido Van Rossum在 90 年代早期设计,现在是最常用的编程语言之一.特别是人工智能的火热,再加之它的语法简洁且优美,实乃初学者入门AI必备的编程语言. Python基 ...
- python能在ipad上运行吗_如何用iPad运行Python代码?
其实,不只是iPad,手机也可以. 痛点 我组织过几次线下编程工作坊,带着同学们用Python处理数据科学问题. 其中最让人头疼的,就是运行环境的安装. 实事求是地讲,参加工作坊之前,我已经做了认真准 ...
最新文章
- 收藏 | CNN的一些可视化方法!
- 习题:编程求圆周长、圆面积、圆球体积、设圆半径r=1.5。要求:用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数后2位...
- flink 写入到es_《从0到1学习Flink》—— Flink 写入数据到 Kafka
- 2019年总结:把能努力的都努力好,最终等待命运垂青
- 微软协助谷歌开发ARM平台Chrome浏览器
- 小菜鸡进阶之路.文件操作遇到坑
- PyTorch入门-词向量
- struts2、hibernate工作原理和流程
- P2057 [SHOI2007]善意的投票 最小割
- ERROR Request failed with status code 404 :at createError (node_modules\axios\lib\core\createError.
- 基于Ajax的模糊查询输入控件(补充)
- 拓端tecdat|matlab递归神经网络RNN实现:桨距控制控制风力发电机组研究
- 模拟https类型的get,post请求时,碰到证书不信任,无法正常获取返回内容的异常
- Cropper使用(图片裁切)
- Selenium+iframe准确定位元素
- c语言数据文件是,C语言数据文件操作.ppt
- SRAM随机存储器的特点及结构
- SQL Server Intergration Services(SSIS)
- 一个初学者的留言板(登录和注册)
- 什么是XGBoost