百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

不会这些,就不要再说自己精通pip了

liuian 2024-12-06 17:23 26 浏览

Python 之所以易于学习,而且功能强大,离不开有大量的可用三方包来实现相应的功能,而安装这些三方包就离不开一个工具 pip,当需要哪个包支持的时候,只需要 pip install 包名就可以快速安装使用。本文将详细介绍 pip的详细功能,让大家能领略到更多的功能。

PyPI(Python Package Index)

在介绍 pip 之前,先介绍一下 PyPI,从字面意思就能直观的看明白,PyPI 就是存放 Python 包的地方,类似于一个仓库,学过 Java 的同学可以理解为 maven 仓库,而 pip 就是用来管理包的 ,类似于 mvn

pip 使用

pip(package innstaller for python)可以非常方便的管理三方包,诸如,安装,列举,更新,删除等操作,只需一行命令就可完成。

  1. 安装 Python 包

这个是在开发中最常使用的命令,各种包的安装都需要使用此命令,但是这里边有很多细节

  • 安装指定包
pip install 包名
# 这样安装的三方,会使用当前包的最新版本。
  • 安装指定版本的包
pip install 包名==版本号 
# 安装指定版本包

pip install 包名>=版本号 
# 安装版本号大于给定版本
  • 安装环境文件指定的包
pip install -r requirements.txt
# 安装requirements.txt 按照文件中的版本
# -r 表示reference, 引用
  1. 更新包版本

更新包版本一般用于升级当前包的版本,如果想要降级版本可以使用 pip install 中指定版本号来完成。

pip install -U 包名
# 这里的u是大写的,也可以使用下边语句
pip innstall 包名 --upgrade
# 更新版本会将指定包升级到最新版本

# 升级pip自己
pip install --upgrade pip
  1. 卸载三方包

有安装必有卸载,卸载也非常容易,只需要在 install 前加 un 即可。

# 卸载指定包
pip uninstall 包名
# 卸载环境配置中所有包
pip uninstall -r requirements.txt
  1. 列出当前环境安装的包

这里之所以强调当前环境,是因为如果我们使用来虚拟环境,则只会列出虚拟环境安装的包,全局环境的并不会展示

pip list # 列出所有的包
pip list -o # 列出所有可升级的包
  1. 显示包的信息

使用 show 命令可以查看指定包的目录以及一些使用帮助信息

pip show 包名
  1. 查看已安装包及其版本

freeze 有冻结的意思,这里表示 Output installed packages in requirements format.

pip freeze # 列出所有的安装包及其版本
pip freeze > requirements.txt # 将信息写入到环境文件中

pip freeze 和 pip list 展示出的内容基本相似,只不过用于环境导出。

  1. 下载三方包

下载三方包的主要用处是方便环境的迁移,如果目标机器不支持联网,这时我们就无法使用 pip install 来装,所以就可以借助 pip download 来下载所有需要的三方包到目标机器(更多的时候是客户方为了机器安全,禁止访问互联网)。

pip download -d 目录 包名 # 下载单个离线包
pip download -d 目录 -r requirements.txt # 批量下载离线包

通过上述方式,就可以将三方包下载到指定的目录中。

下载完的三方包后缀名为 whl, 并且包含其依赖的其他包。

  1. 安装离线三方包

上一步我们下载来所需的离线安装包,这里我们安装指定的安装包

pip install --no-index --find-links=/目录/ 包名 #安装单个离线包
pip install --no-index --find-links=/目录/ -r requirements.txt # 批量安装离线包

更换安装源地址

在我们使用 pip 的时候是不是经常会出现 timeout 的情况,或者即使下载下载成功来,也需要很久,这是因为 python 中默认地址是国外的 pypi,不过,现在国内有很多提供下载的服务。最常用的是清华和阿里的(当然还有其他很多选择,根据实际情况来)。

  1. 临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名

如上,我们使用 -i 的参数,来指定源地址为清华服务器,只不过这样只对当前命令生效。

  1. 全局生效

配置全局源地址需要修改配置文件,路径C:\Users\ 用户名 \AppData\Roaming\pip\pip.ini,内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn

如果 Roaming 中没有 pip 文件夹,需要新建文件和文件,如果看不到 Roaming 文件夹,需要将文件夹显示模式设置为,隐藏可见

修改完成后,可以看到在不指定的情况下,会查找 indexes 配置的内容。这就省了我们每次下载都需要带源地址参数。

相关推荐

苹果ios打包的ipa应用APP怎么不能安装?多种安装不上的原因排查

亲爱的同学们,非常高兴能和同学们一起探讨关于苹果应用安装失败的问题。作为一个开发者,我们很可能会遇到这样的情况:开发好一个应用,兴致勃勃地想把它运行到手机上去测试,结果发现安装失败了。而此时,定位问题...

Flutter 系列 - 环境搭建

#头条创作挑战赛#本文同步本人掘金平台的文章:https://juejin.cn/post/7002401225270362143Flutter作为火热的跨端工具包,在github上超过12...

XV6 操作系统入门系列-01-环境配置

xv6是一个用于教育目的的简单Unix操作系统,基于Unix第六版(Version6,V6)开发,运行在RISC-V处理器上。它由麻省理工学院(MIT)开发,用于操作系统课程(Ope...

速递|已获2000万美元融资,苹果前高管携Unblocked挑战代码理解“黑箱难题”

图片来源:Unblocked每位开发者都有自己独特的编码风格。尽管公司制定了最佳实践并编写了文档,开发者要理解他人的代码库仍非易事。为解决这一问题,DennisPilarinos开发了一款名为U...

C语言之编译器集合

C语言有多种不同的编译器,以下是常见的编译工具及其特点:一、主流C语言编译器1.GCC(GNUCompilerCollection)特点:开源、跨平台,支持多种语言(C、C++、Fortran...

Xamarin for Visual Studio v4.0正式发布

XamarinforVisualStudio让开发者可以在Windows上用VisualStudio开发原生iOS,Android和Windows应用程序。XamarinforVis...

macOS/iOS开发必备:Dylib文件的深度解析与安全防护

在macOS和iOS开发中,dylib文件是开发者们不可或缺的工具。它不仅能够实现代码复用、减少内存占用,还能支持程序的模块化更新。然而,随着技术的发展,dylib文件的安全性也面临着诸多挑战,例如被...

微软Islandwood项目启动:iOS应用轻松移植至Win10

IT之家讯5月1日消息,在昨天的Build2015开发者大会上,微软详细阐述了iOS应用程序移植到Win10平台的更多细节信息。现在,微软正式开启了ProjectIslandwood,该项目旨在搭...

macOS26中被库克删掉的启动台,有开源的项目实现了

这是一个第三方实现的,只实现了最基本的功能,包括:启动台应用程序文件夹打开应用删除应用为什么要做这个macOS26版本中,自带的启动台功能被库克老小子删除了,导致使用起来很不习惯。所以就自己做了...

环境配置劝退?Rust + Slint开发环境搭建全攻略,手把手教你避坑!

各位对科技充满好奇,又跃跃欲试想亲手写代码的朋友们!是不是每次下定决心要学习一门新语言、尝试一个新框架时,都会被“环境配置”这第一道坎儿给劝退?下载一堆软件,安装各种工具,然后面对一堆看不懂的错误提示...

MyEclipse移动开发教程:构建可分发的PhoneGap应用程序

本教程将用PhoneGap远程构建服务(remotebuildservices)去构建一个PhoneGap应用程序。当然,你也可以在本地构建PhoneGap应用程序。需要多说一句的是,Phone...

Android和iOS应用可以快速移植到Win10

|责编:刘菲菲在今天凌晨的Build2015开发者大会上,微软宣布所有Android和iOS应用,都可以通过简单的修改代码,直接生成适用于Win10的应用。也就是说,开发者们不需要学习更多内容,就...

Injection for Xcode:成吨的提高开发效率

本文为投稿文章,作者:@没故事的卓同学直接放demo演示动图:我很久以前就希望有这么一种功能,直接修改某行代码,F5一下就能刷新这个实例,而不用重写build整个项目。靠夭,我不是在说前端!没想居然有...

抖音品质建设 - iOS启动优化《原理篇》

前言启动是App给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实践。本...

蓝鸥郑州iOS培训老师分享的iOS支付知识

最近常用朋友问iOS支付方面的问题,郑州iOS培训老师就和大家分享一些关于iOS支付方面的知识,希望对大家有所帮助。支付宝iOS使用支付宝进行一个完整的支付功能,大致有以下步骤:1>先与支付宝...