这是一份 pip 常用命令小结~

2020-09-15 17:03:14 浏览数 (1)

作者:奶糖猫

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

0 人点赞