这是一份 pip 常用命令小结~
pip 这个工具我们经常会用到,毕竟 python 是一门以第三方库庞大而著名的编程语言,所以我们总会用 pip 安装一些依赖库,当然这只是 pip 最常用的一个命令,下面就来介绍一下 pip 中你需要掌握的一些命令。
我个人用的是Anaconda,所以需要在Anaconda Prompt中操作,如果你用的是官网下载的 python 版本,就可以直接在cmd中操作。
pip
直接输入 pip 可以查看所有的命令参数以及可选项:
查看pip所在位置:
where pip
更新pip的版本:
pip install --upgrade pip
如果你 pip 版本比较低,那么在使用 pip 时会有类似下面这样黄色字体的Warning,个人建议能用就不要更新,更新后容易出现报错。
安装
这里暂用flask库举例,安装flask库,默认安装最新版:
pip install flask
指定要安装flask库的版本:
pip install flask==版本号
我们在安装第三方库时可能会很慢,甚至会发生超时报错(Read timed out),解决办法有两种,第一种使用timeout参数增加时间:
pip install flask --timeout 6000
第二种就是利用国内的一些镜像,使用格式如下:
pip install flask -i 镜像源
下面是一些比较稳定且速度比较快的国内镜像,个人最常用的是清华镜像:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
pip还支持安装指定文件中的包,什么时候用呢?比如我们新建了一个虚拟环境,这里面什么库都没有,但我们一个一个库安装是非常麻烦的,我们就可以将全局环境中的包导入文件,然后在虚拟环境中一次性安装,剩下你只需要再安装一些虚拟环境中需要的库即可。
这种操作建议在Pycharm的终端使用,因为涉及到文件的生成,可以直接在目录中找到文件,具体操作如下:
pip freeze > requirements.txt
这条指令会生成一个文本文件,文件中就是你环境中安装的所有库及对应的版本:
然后进入虚拟环境,并输入下面这个命令,pip 就会安装文件中所有的库:
pip install -r requirements.txt
查看
pip list
pip freeze
可以看到这两条命令都可以得到已安装的库及对应的版本信息,两者的可见区别就在于格式不同,并且后者可以导出文件,另外还有一些细致的区别这里不再介绍。
pip show flask
查询某个库一些基本信息,主要有版本号、Home Page、所在位置以及这个库的一些依赖(Requires):
这条指令用来查询某个库更加具体的信息:
pip show -f flask
更新
pip list --outdated
查询有哪些库需要更新,会返回这个库现在的版本、最新版本已经库的类型:
另外一种形式:
pip list -o
升级某个库,也可以指定想要的版本号:
pip install --upgrade flask
另外一种形式:
pip install -U flask
卸载
卸载某个第三方库,需要注意的是pip中有些库是自带的,它们是不支持卸载的。
pip uninstall flask
与安装原理一样,pip卸载也支持通过文件一次性卸载多个库。
卸载pip本身:
python -m pip uninstall pip
关注公众号【奶糖猫】获取更多精彩好文~
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【风险通告】XXL-JOB远程命令执行漏洞
- MySQL8.0特性之redo logging动态开关
- 3分钟短文:Laravel模型集合跟基类真不一样,别混为一谈
- 3分钟短文:Laravel模型一对一一对多关系真的乱吗?
- 3分钟短文:Laravel请求对象方法极多,可不是花拳绣腿
- 3分钟短文:Laravel验证用户输入,不要把啥都存到系统里
- 3分钟短文:Laravel用户自定义命令行简明教程
- 3分钟短文:Laravel命令行参数和可选项分不清?怎么可能!
- 《Offer一箩筐》求职之前你必须知道的 4 件事!!
- 3分钟短文:有趣的Laravel命令行交互,输入和输出!
- MySQL limit导致的执行计划差异
- 3分钟短文:用Laravel的方式管理服务器的文件们
- 漫画:什么是 “抽象工厂模式” ?
- 啥?Grafana 还能为日志添加告警?
- Docker映射详解,没问题了!