Python 的包管理工具
Python 具有大量的第三方模块,而管理这些模块的安装、卸载、升级就依靠包管理工具pip
安装
Windows
在 Windows 下 Python3 的所有安装版本都包含了 pip 的安装选项
而 Python2 只有最新的 2.7 版带有 pip 安装选项,其他低版本需要手动安装
-
下载安装脚本
https://bootstrap.pypa.io/get-pip.py
-
在 python 安装路径下的 Scripts 中执行
python get-pip.py
Linux
Linux 下默认都是没有安装 pip 的,需要自己手动安装
Linux 下 python2 的包管理器是 pip,Python3 的包管理器是 pip3
以 Debian 系为例:
- python2:
sudo apt-get install python-pip
- python3:
sudo apt-get install python3-pip
更新
Windows 下安装后需要将 Python 安装路径和安装路径下的 Scripts 文件夹路径都加入到环境变量中 更新时根据 Python 版本不同使用不同的命令
python -m pip install --upgrade pip
常用命令
- 安装包:
pip install packageName
- 升级包:
pip install --upgrade packageName
- 通过 requirements file 安装依赖的第三方包:
pip install -r requirements.txt
- 卸载包:
pip uninstall packageName
- 搜索包:
pip search packageName
- 列出已安装包:
pip list
添加--outdated
参数可以检查哪些包需要更新 - 查看包详细信息:
pip show packageName
- 查看当前 pip 版本:
pip --version
或者pip -V
- 生成 requirements 文件:
pip freeze > requirements.txt
设置国内源
因为 pip 默认的源在国外,有时候下载会比较慢,因此建议使用国内的镜像源
临时使用
pip install -i http://xxx.xxx.xxx packageName
永久更改
Linux 是在当前用户的家目录下创建 .pip
文件夹,Windows 是在当前用户家目录下创建 pip
文件夹
在创建的文件夹下创建配置文件pip.ini
写入如下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
常用的国内源
阿里云: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
虚拟环境
使用 Python 时经常会使用第三方的包,但经常出现不同项目之间使用的同一个包的不同版本,而且项目多了以后,系统中存在大量的只用的到一次的第三方包
而且,一个系统中可能存在多个版本的 Python,不同项目使用的 Python 版本也不尽相同,为了解决版本冲突和包的冗余问题,建议使用虚拟环境
在虚拟环境中,可以指定要使用的 Python 版本,安装的第三方包也只存在虚拟环境下,不会安装在系统中
安装虚拟环境:pip install virtualenv
Tips:在 Windows 下安装 virtualenv 后需要将该路径添加到环境变量中才能生效,一般路径为用户家目录下的 AppData 下的 Roaming 下的 Python 下的 对应版本的 Pythonxx 下面的 Scripts 目录
创建
进入到指定的项目中使用:virtualenv .env
,添加-p python可执行文件的绝对路径
可以指定要使用的 python 版本,或者使用--python=python3.8
,但是这个选项如果该版本不存在环境变量中,需要指定绝对路径。
该命令会在当前目录创建一个
.env
目录,目录名可以随便取,一般使用点加项目名或点加 env
激活
当创建了虚拟环境后需要激活虚拟环境,才可以将第三方包安装在当前项目的虚拟环境中,否则还是安装在系统中
在 Windows 下使用:.\.env\Scripts\activate
在 Linux 下使用:.env/bin/activate
退出虚拟环境
在项目根目录下执行以下命令
Windows:.\.env\Scripts\deativate.bat
Linux:.env/bin/deativate
删除虚拟环境
当项目开发完成后,虚拟环境中存在大量的第三方包,如果一起打包会造成文件体积过大,因此建议删除虚拟环境,通过 requirements file 来管理项目依赖的第三方包
直接删除创建的虚拟环境文件夹即可