pip 的高阶玩法

简介: pip 的高阶玩法

pip 应该是大家最熟悉的 Python 包安装与管理工具了,但是除了pip install 这个最常用的命令,还有很多有用的玩法。这里就介绍几个我平时会用到的,希望对大家有所帮助。


pip freeze


这个命令可以查看已经安装的包及版本信息,当你要换电脑,或者朋友想复刻你已安装的包,又不想一个一个重新安装。这时就可以使用pip freeze > requirements.txt ,批量导出当前开发环境的包信息,然后安装requirements.txt依赖就行了。


pip freeze > requirements.txt 
pip install -r requirements.txt

pip cache


用pip安装python模块的时候,重复安装某一模块会经常出现“Using cache”,这样很容易装错版本。而且cache还会占用不少C盘空间,如果空间不足,可以直接删除这些缓存。 方法:


Win + R ,输入%LocalAppData%\pip\Cache


删掉 cache/ 目录下的所有文件夹就好了


pip list


pip list 命令列出所有安装包和版本信息,pip list --outdate可以列出所有可升级的包。

640.png


但是当前内建命令并不支持升级所有已安装的Python模块,不过可以写一个:


import pip
from subprocess import call
from pip._internal.utils.misc import get_installed_distributions
for dist in get_installed_distributions():
    call("pip install --upgrade " + dist.project_name, shell=True)


替代方案是使用pip-review,这是一个分叉pip-tools,升级包就太方便了。安装和使用方法:


pip install pip-review
#查看可更新 
pip-review
#自动批量升级 
pip-review --auto
#以交互方式运行,对每个包进行升级 
pip-review --interactive


pip.init


pip 用国外的源下载安装包会比较慢,还经常出错安装失败,可以将安装源切换成国内镜像,速度×10!改一些pip.init配置,一劳永逸,具体做法:Win + R ,输入  

%APPDATA% 在当前目录下新建 pip 文件夹,然后新建 pip.ini 文件,内容如下


[global]
index-url = https://mirrors.aliyun.com/pypi/simple/trusted-host=mirrors.aliyun.com


我直接设置成了阿里的,豆瓣的源速度也很快。


豆瓣(douban) http://pypi.douban.com/simple/ 
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
相关文章
EndNote参考文献显示中国作者名的第二个字的首字母的方法
本文介绍利用EndNote软件,对论文参考文献中英文文献的汉语拼音姓名(即含有中国作者的英文论文)的名的第二个字的首写字母加以补充显示~
716 1
EndNote参考文献显示中国作者名的第二个字的首字母的方法
|
存储 NoSQL Java
使用Redisson RLock锁防止定时任务短周期重复执行
在开发定时任务时,如果任务执行周期较短,可能会导致任务在前一次执行尚未完成时就再次触发,从而产生重复执行的问题。为了解决这个问题,我们可以借助Redisson的RLock锁机制,确保任务只有在前一次执行完成后才能再次执行。本文将介绍如何使用Redisson RLock锁来避免定时任务的重复执行。
754 0
使用Redisson RLock锁防止定时任务短周期重复执行
|
开发框架 供应链 JavaScript
一个简单、功能完整的开源WMS​仓库管理系统
一个简单、功能完整的开源WMS​仓库管理系统
1139 0
|
SQL 人工智能 移动开发
Android应用启动流程:从启动到可交互的过程解析
Android应用启动流程:从启动到可交互的过程解析
|
机器学习/深度学习 存储 人工智能
【博士每天一篇文献-算法】改进的PNN架构Progressive learning A deep learning framework for continual learning
本文提出了一种名为“Progressive learning”的深度学习框架,通过结合课程选择、渐进式模型容量增长和剪枝机制来解决持续学习问题,有效避免了灾难性遗忘并提高了学习效率。
456 4
|
数据可视化 Python
python WAV音频文件处理——(3)高效处理大型 WAV 文件
python WAV音频文件处理——(3)高效处理大型 WAV 文件
318 9
|
安全 Java Android开发
Android 14适配Google play截止时间临近,适配注意点和经验
本文介绍了Android 14带来的关键更新,包括性能优化、定制化体验、多语言支持、多媒体与图形增强等功能。此外,还强调了适配时的重要事项,如targetSdkVersion升级、前台服务类型声明、蓝牙权限变更等,以及安全性与用户体验方面的改进。开发者需按官方指南更新应用,以充分利用新特性并确保兼容性和安全性。
839 0
|
存储 NoSQL 数据库
Harbor 共享后端高可用-简单版
主机配置包括3台服务器,运行Harbor v2.10.0和Docker 24.0.5,其中10.0.90.68额外运行Postgres+Redis。基础安装配置中详细描述了Docker的安装步骤,包括添加仓库、安装、配置国内镜像源和启动Docker。安装postgres+redis服务使用docker-compose.yml文件,通过`docker-compose up -d`命令启动。最后,安装Harbor涉及修改harbor.yml配置文件,设置主机名、数据库和Redis连接信息,然后运行`install.sh`脚本。
|
Windows
Win10或Win11更新补丁后导致360随身wifi提示USB设备驱动异常,创建Wifi网络失败
Win10或Win11更新补丁后导致360随身wifi提示USB设备驱动异常,创建Wifi网络失败
2406 0
|
负载均衡 算法 Java
通过Open-Feign调用其他微服务实现解耦
通过Open-Feign调用其他微服务实现解耦