Python pip 使用命令大全分享
官方文档
地址:https://docs.python.org/3/installing/index.html
命令大全
安装模块
pip install 模块名
通常,如果已经安装了模块,再次安装 它再次不会有任何效果。如需要升级 请使用升级命令。
不加版本号 默认安装模块当前最新版本。
安装指定版本
pip install 模块名==1.xx
指定源安装(仅本次安装生效)
pip install 模块名 -i https://pypi.douban.com/simple/
查看所有模块
pip list
查看已安装模块
pip freeze
查询模块可安装版本号
安装时输入一个不存在的版本号,报错信息里面就会显示所有可安装的版本
查看当前模块版本
pip show 模块名
升级模块
pip install -U 模块名
升级PIP本身
pip install pip -U
或:
python -m pip install --upgrade pip
卸载模块
pip uninstall 模块名
导出所有已安装模块
pip freeze 将生成一个类似的已安装包列表,但输出使用 pip install 期望的格式
。一个常见的约定是将此列表放在 requirements.txt 文件中。
pip freeze > requirements.txt
安装requirements.txt中的所有模块
可以借助这个形式批量安装模块
pip install -r requirements.txt
设置pip源
设置永久指定源
前提pip版本 (>=10.0.0) 方可使用此命令进行配置pip config set global.index-url https://源地址
修改pip源为清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
国内pip源大全
注意加上https:// 不然会有其他报错。
阿里云:
https://mirrors.aliyun.com/pypi/simple/
中国科技大学:
https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) :
https://pypi.douban.com/simple/
清华大学:
https://pypi.tuna.tsinghua.edu.cn/simple/
腾讯源:
https://mirrors.cloud.tencent.com/pypi/simple
华为源:
https://repo.huaweicloud.com/repository/pypi/simple/
如果觉得麻烦也可以指定国内源作为默认源,这样无需每次指定。
第三方源地址可能会改变(小概率),如果不对,请切换或者到对应官网查找,欢迎留言改正。
常见报错
提示不信任源解决
类似报错信息:
The repository located at http://mirrors.aliyun.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS it is recommended to use HTTPS instead, otherwise you may silence this warning and allow it anyways with ‘–trusted-host mirrors.aliyun.com’.
解决
--trusted-host
:说明是可信的pip源
pip install 模块名 -i 源地址 --trusted-host 源地址
仅导出当前项目模块
pip freeze > requirements.txt
方法是导出pip安装的所有依赖包,而不仅仅是当前项目,这么做有些时候显然是没有必要的。
Python提供了pipreqs包解决这个问题,详情请看:Python如何只导出当前Python文件所需模块包依赖。
基础使用
1、安装pipreqs
pip install pipreqs
2、进入当前项目根目录下执行
pipreqs . --encoding=utf8 --force
参数解释:
- “
.
” 指的是将导出依赖包的文件放在当前目录下 - “
--encoding=utf8
” 指的是存放文件的编码为utf-8,否则会报错 - “
--force
” 强制执行,当生成目录下的requirements.txt存在时强制覆盖。
安装则在项目的新环境中一样使用pip install -r requirements.txt
即可
这样做的好处可以保证项目依赖包的版本跟开发环境一样,避免了很多坑。