PIP依赖管理
pip简介
常用命令
安装依赖包
1 | pip install package_name |
用于安装指定名称的依赖包。
安装指定版本的依赖包
1 | pip install package_name==version_number |
用于安装指定名称和版本号的依赖包。
升级依赖包
1 | pip install --upgrade package_name |
用于升级已安装的依赖包至最新版本。
列出已安装的依赖包
1 | pip list |
用于列出当前环境中已安装的所有依赖包及其版本号。
卸载依赖包
1 | pip uninstall package_name |
用于卸载指定名称的依赖包。
导出依赖包列表
1 | pip freeze > requirements.txt |
用于将当前环境中已安装的依赖包及其版本号导出到一个文本文件(一般命名为requirements.txt
),方便在其他环境中重现相同的依赖包配置。
从requirements.txt文件安装依赖包:
1 | pip install -r requirements.txt |
用于从指定的requirements.txt文件中安装所有依赖包及其版本号。
搜索依赖包
1 | pip search search_term |
虚拟环境
如果你使用的是Linux环境,会满足多个Python版本的兼容:
1
2
3
4
5 ls /usr/bin/python*
/usr/bin/python /usr/bin/python2.7-config /usr/bin/python3.11 /usr/bin/python3.8-config
/usr/bin/python2 /usr/bin/python2-config /usr/bin/python3.11-config /usr/bin/python3-config
/usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.8 /usr/bin/python-config可见我的Linux环境安装了python3.11(默认)、python2.7、python3.8。
默认情况下使用pip命令是使用python3.11的
/usr/lib/python3.11/site-packages
目录下的pip,检查其他存在的Python真实环境目录下没有安装pip。此时会有一个问题就是我使用创建虚拟环境的命令会不会只使用Python3.11(默认)环境下的依赖?答案是:不会。
创建虚拟环境
进入项目根目录
使用指定版本Python创建虚拟环境目录为venv
1 | python3.8 -m venv venv |
执行完成你会发现多了一个venv的目录
查看虚拟环境文件
打印以下其实已经说明,指定Python版本即使真实环境不存在pip,使用指定版本的虚拟环境也是自带pip的
1 | ls venv/bin |
激活虚拟环境
1 | source venv/bin/activate |
激活成功后打印python --version
即是你已经激活的虚拟环境,此时你会发现你的命令行提示标题的前面会有(venv)
1 | (venv) arch-linux ॐ ~/Desktop/Dailyfresh-B2C/Backend:(13d1h41m|git@master!) |
这个就是Linux对Python、Git友好之处!!
安装依赖准备
虚拟环境下
1 | pip install --upgrade pip |
退出虚拟环境
1 | deactivate |
pip国内源
参考:
pip国内的一些镜像
- 阿里云 http://mirrors.aliyun.com/pypi/simple/
- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
- 豆瓣(douban) http://pypi.douban.com/simple/
- 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
- 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
命令方式
通过清华源加载所有依赖
1 | pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt |
安装依赖时候有 信任源配置,以下命令加信任源域名
1 | pip install jsonfield==1.0.3 -i https://mirrors.aliyun.com/pypi/simple --trusted-host=mirrors.aliyun.com |
永久方式
Linux
首先如果~/.pip/pip.conf
文件目录不存在,创建目录和文件,编辑文件
1 | vim ~/.pip/pip.conf |
添加以下(也可以加信任源域名)
1 | [global] |
如果需要更换新的url
1 | pip config set global.index-url new_source_url |
验证更换结果
1 | pip config get global.index-url |
mybe你需要还原默认的官方源
1 | pip config unset global.index-url |
requirements.txt
一般情况下,涉及到Python项目,项目根目录就会有名为
requirements.txt
的文件,此文件的作用就是记录本项目需要的依赖和版本。
生成requirements.txt
前提是你的项目已被所有依赖满足
1 | pip freeze > requirements.txt |
安装依赖从requirements.txt
如果没有配置pip的下载源,执行以下命令会十分缓慢,请看后面的解决方案。
1 | pip install -r requirements.txt |
问题
不小心安装依赖到真实环境
尝试依旧使用原项目的requirements.txt
卸载即可
1 | sudo pip uninstall -r requirements.txt -y |