作者:奶糖猫
pip 这个工具我们经常会用到,毕竟 python 是一门以第三方库庞大而著名的编程语言,所以我们总会用 pip 安装一些依赖库,当然这只是 pip 最常用的一个命令,下面就来介绍一下 pip 中你需要掌握的一些命令。
我个人用的是Anaconda,所以需要在Anaconda Prompt中操作,如果你用的是官网下载的 python 版本,就可以直接在cmd中操作。
代码语言:javascript复制pip
直接输入 pip 可以查看所有的命令参数以及可选项:
查看pip所在位置:
代码语言:javascript复制where pip
更新pip的版本:
代码语言:javascript复制pip install --upgrade pip
如果你 pip 版本比较低,那么在使用 pip 时会有类似下面这样黄色字体的Warning,个人建议能用就不要更新,更新后容易出现报错。
安装
这里暂用flask库举例,安装flask库,默认安装最新版:
代码语言:javascript复制pip install flask
指定要安装flask库的版本:
代码语言:javascript复制pip install flask==版本号
我们在安装第三方库时可能会很慢,甚至会发生超时报错(Read timed out),解决办法有两种,第一种使用timeout参数增加时间:
代码语言:javascript复制pip install flask --timeout 6000
第二种就是利用国内的一些镜像,使用格式如下:
代码语言:javascript复制pip install flask -i 镜像源
下面是一些比较稳定且速度比较快的国内镜像,个人最常用的是清华镜像:
代码语言:javascript复制清华: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的终端使用,因为涉及到文件的生成,可以直接在目录中找到文件,具体操作如下:
代码语言:javascript复制pip freeze > requirements.txt
这条指令会生成一个文本文件,文件中就是你环境中安装的所有库及对应的版本:
然后进入虚拟环境,并输入下面这个命令,pip 就会安装文件中所有的库:
代码语言:javascript复制pip install -r requirements.txt
查看
代码语言:javascript复制pip list
代码语言:javascript复制pip freeze
可以看到这两条命令都可以得到已安装的库及对应的版本信息,两者的可见区别就在于格式不同,并且后者可以导出文件,另外还有一些细致的区别这里不再介绍。
代码语言:javascript复制pip show flask
查询某个库一些基本信息,主要有版本号、Home Page、所在位置以及这个库的一些依赖(Requires):
这条指令用来查询某个库更加具体的信息:
代码语言:javascript复制pip show -f flask
更新
代码语言:javascript复制pip list --outdated
查询有哪些库需要更新,会返回这个库现在的版本、最新版本已经库的类型:
另外一种形式:
代码语言:javascript复制pip list -o
升级某个库,也可以指定想要的版本号:
代码语言:javascript复制pip install --upgrade flask
另外一种形式:
代码语言:javascript复制pip install -U flask
卸载
卸载某个第三方库,需要注意的是pip中有些库是自带的,它们是不支持卸载的。
代码语言:javascript复制pip uninstall flask
与安装原理一样,pip卸载也支持通过文件一次性卸载多个库。
卸载pip本身:
代码语言:javascript复制python -m pip uninstall pip