这是一份 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
关注公众号【奶糖猫】获取更多精彩好文~
- Linq中连接主要有组连接、内连接、左外连接、交叉连接四种
- 深入源码理解YYCache 、SDWebImage、AFNetworking、NSCache 缓存方式与对比
- Linq Like的操作
- iOS网络——AFNetworking AFURLSessionManager源码解析
- 1692: [Usaco2007 Dec]队列变换(BZOJ1640强化版)
- 1620: [Usaco2008 Nov]Time Management 时间管理
- 手把手教你树莓派linux内核如何编译
- js处理异常try{}catch(e){}
- 1634: [Usaco2007 Jan]Protecting the Flowers 护花
- C#用链式方法表达循环嵌套1
- C#用链式方法表达循环嵌套2
- 【开源】1句代码搞定图片批量上传,无需什么代码功底【无语言界限】
- C#异步调用的方法
- 【David Silver 深度强化学习教程代码实战07】 DQN的实现
- 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 数组属性和方法