pip 是 Python 的包管理器,就像手机里的应用商店一样,可以方便地帮你安装、升级或卸载 Python 的各种第三方库。
1、安装pip
如果你是Python新手,很可能系统已经自带pip。验证是否已安装,只需在命令行输入:
python -m pip --version
若未安装,可参考官方指引进行安装。
2、安装Python库
想装个requests库试试水?一句命令搞定!
pip install requests
这就是pip最基础也是最常见的用法,它会自动处理库及其依赖关系。
3、升级库
世界日新月异,库也要保持最新状态。要升级已安装的所有库:
pip list --outdated # 查看待升级库
pip upgrade <package_name> # 升级指定库
4、卸载库
不再需要某个库时,我们可以这样卸载:
pip uninstall <package_name>
5、搜索库
在决定安装某个库之前,你可能想先了解下有哪些可用的库能满足你的需求。这时可以使用search命令:
pip search <keyword>
比如查找与机器学习相关的库,你可以输入pip search machine learning。
6、查看已安装库详细信息
想知道已安装的库具体版本和其他详情?show命令可以帮助你:
pip show <package_name>
7、只下载库而不安装
有时你可能需要离线环境安装包或者备份当前环境的依赖,那么可以使用download命令只下载不安装:
pip download <package_name>
8、创建requirements文件
在项目开发中,为了方便团队成员统一环境,我们可以创建一个包含所有依赖的requirements文件:
pip freeze > requirements.txt
这会列出当前环境中所有已安装库及其版本,并保存到requirements.txt文件中。而要根据这个文件安装所有依赖,只需:
pip install -r requirements.txt
9、指定库版本安装
在某些情况下,你可能需要安装特定版本的库,比如安装 requests 库的2.25.1版本:
pip install requests==2.25.1
10、检查是否存在安全漏洞
pip 配合Safety工具可以检查已安装库的安全性:
pip install safety
safety check --full-report
这会扫描所有已安装的库,并报告是否有已知的安全漏洞。
11、创建虚拟环境并激活
为了避免不同项目间依赖冲突,我们通常会在每个项目下创建独立的虚拟环境,然后使用 pip 进行管理:
python -m venv my_project_env # 创建虚拟环境
source my_project_env/bin/activate # Linux/Mac激活环境
my_project_env\Scripts\activate.bat # Windows激活环境
在虚拟环境中,你可以放心使用 pip 安装和管理项目的专属依赖。
12、清理未使用的库或缓存
随着项目迭代,有些不再使用的库可能会被遗忘,这时可以使用autoremove命令来清除:
pip-autoremove <package_name>
同时,你也可以清理 pip 下载缓存以释放磁盘空间:
pip cache purge
13、查看pip自身的版本信息及更新pip
要查看 pip 本身的版本,只需运行:
pip --version
为了确保 pip 始终保持最新,可使用如下命令升级 pip 自身:
python -m pip install --upgrade pip
当然,pip 的功能确实丰富多样,让我们继续探索:
14、指定源安装库
在某些网络环境下,可能需要从国内镜像或者其他自定义源下载和安装库。例如使用阿里云的Python 镜像源:
pip install -i https://mirrors.aliyun.com/pypi/simple/ <package_name>
或永久更改 pip 默认源(推荐在配置文件中修改):
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
15、分发本地构建的库
如果你自己开发了一个 Python 包,并希望在本地测试安装,可以先打包成whl或tar.gz格式,然后通过 pip 进行安装:
# 假设你已经将项目打包为my_package-0.1.0.whl
pip install ./my_package-0.1.0.whl
16、查看库安装路径
如果想知道某个库具体安装在系统哪个位置,可以使用show --files选项:
pip show --files <package_name>
17、在安装时跳过测试
有些库在安装过程中会执行单元测试,若想快速安装可选择跳过这些测试:
pip install --no-deps --ignore-installed --no-cache-dir --disable-pip-version-check
18、列出所有全局安装的库
获取全局环境下的所有已安装Python库列表:
pip list
19、在安装时指定额外选项
某些库可能在安装时需要额外参数,比如numpy、scipy等科学计算库,你可以直接在pip命令中传递这些选项:
pip install numpy --install-option="--openblas"
这里的--openblas是一个示例,实际选项请根据库文档进行设置。
20、查看依赖树
要了解一个包及其所有依赖关系,可以使用deptree第三方工具:
pip installdeptree
deptree -l <package_name>
这将展示指定包及其所有依赖项之间的层级关系。
21、修复损坏的库
如果某个库在安装或升级过程中出现问题导致无法正常使用,可以尝试修复它:
pip install --force-reinstall <package_name>
然后在下载目录中找到对应的tar.gz或whl文件解压查看。
22、获取库的源码
如果你对某个库的实现细节感兴趣,可以通过pip下载其源代码:
pip download <package_name> --no-binary :all:
然后在下载目录中找到对应的tar.gz或whl文件解压查看。
23、执行pip的自定义脚本
有些开发者可能会编写自定义的 pip 脚本来自动化一些任务,你可以通过run命令执行:
pip run my_script.py
24、在安装时指定Python版本
如果你有多个Python版本并希望为特定版本安装库:
python3.7 -m pip install <package_name>
这里python3.7替换成你想要使用的Python解释器路径。
25、检查依赖冲突
在项目中可能存在不兼容的依赖版本,可以使用pipdeptree第三方工具来检测:
pip install pipdeptree
pipdeptree --packages <package_name>
这将展示指定包及其依赖项之间是否存在版本冲突。
26、创建独立可执行文件
借助pyinstaller等工具,你可以通过pip将Python程序打包成一个独立可执行文件:
pip install pyinstaller
pyinstaller your_script.py
27、管理用户级别的包
默认情况下,pip 会安装全局系统级别的包。若想为当前用户安装不影响系统的包,可以加上--user选项:
pip install --user <package_name>
28、只升级指定的包而不升级所有包
当只需要更新某个特定的库时,可以使用--upgrade选项:
pip install --upgrade <package_name>
29、批量卸载多个包
如果需要一次性卸载多个Python包,可以通过列表形式提供包名:
pip uninstall <package1> <package2> ...
30、冻结当前环境下的所有包及其版本
为了能够复制或记录当前环境中所有已安装包的状态,可以生成一个 requirements 文件:
pip freeze > requirements.txt
这将把所有已安装包及其版本号写入requirements.txt文件中,便于在其他环境下复现相同的软件环境。
31、根据requirements文件创建虚拟环境并安装包
结合虚拟环境(如venv或conda),可以从requirements文件重新构建环境:
python -m venv my_venv
source my_venv/bin/activate # Windows: my_venv\Scripts\activate.bat
pip install -r requirements.txt
参考