Python本地安装whl文件详解与高级pip命令技巧

有些情况我们pip一下包的时候会报错,可能因为延时或许其他不兼容的情况,这时候我们可以通过去网上下载该包的原文件,进行本地物理pip ,在安装网上下载的whl之前,先明白不同后缀的差异;whl下载网址:清华大学开源软件镜像站 | Tsinghua Open Source Mirror

在Python的生态环境中,.whl文件(全称为wheel文件)是一种预编译的二进制包,用于分发和安装Python库。

whl的不同后缀

win32 .whl:这是为32位Windows操作系统编译的Python包。由于它专门针对32位系统进行了优化和编译,因此只能在32位Windows上安装和使用,其他.whl:包括为64位Windows(如win_amd64)、Linux(如manylinux)、MacOS(如macosx)等不同操作系统和架构编译的Python包。每个.whl文件都明确指定了它所支持的操作系统和Python版本,对于所有.whl文件,都可以使用pip命令进行安装。

举例:

32位Windows:如numpy-1.20.3-cp38-cp38-win_amd32.whl,这是为32位Windows系统编译的;

64位Windows:如numpy-1.20.3-cp38-cp38-win_amd64.whl,这是为64位Windows系统编译的;

Linux:如matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl,这是为manylinux1兼容的Linux发行版上的64位系统编译的;

MacOS:如pandas-1.2.4-cp38-cp38-macosx_10_9_x86_64.whl,这是为MacOS上的64位系统编译的;

以下图为例详细说明:

  • 文件名numpy-1.20.3-cp38-cp38-win_amd64.whl
  • 类型:Python Wheel文件(.whl),这是一种预编译的Python包格式,便于跨平台安装。
  • 库名numpy
  • 版本:1.20.3
  • Python版本:cp8,即Python 3.8
  • 平台:win_arm64,表示这是为Windows操作系统下的ARM64架构编译的。

本地安装

pip install 包whl的物理路径;

pip install D:\data\basemap-1.4.1-cp310-cp310-win32.whl  #输入你的下载路径

安装包的特定版本

如果你想要安装特定版本的包,可以在包的源文件路径后加上==和版本号;

pip install numpy==1.20.3 # 注意等号前后不能有空格

卸载本地Python包

如果你想要卸载已经安装的本地包,可以使用pip命令的卸载选项。在命令提示符或终端中,执行以下命令:

pip uninstall numpy 

大多数时候,即使你是通过wheel文件手动安装的包,pip也会将其添加到其管理的列表中。因此,你可以尝试使用pip的uninstall命令来卸载它,就像卸载任何其他通过pip安装的包一样。

但是,如果你确定pip不知道这个包(可能是因为某种原因没有正确注册),或者你想要确保卸载过程更加直接,你可以尝试以下步骤:

检查包是否通过pip安装:

pip show numpy

首先,尝试使用pip的list或show命令来查看包是否已安装,并获取其信息,如果这个命令返回了包的信息,那么你可以使用uninstall命令来卸载它。

如果pip show numpy没有返回任何信息,那么pip可能不知道这个包。这通常不太可能,因为通过wheel文件安装的包通常会被pip注册。不过,如果确实发生了这种情况,你可以尝试手动删除包文件,找到包文件所在的目录。对于Windows,这通常是Python的Lib\site-packages目录,但如果你使用了虚拟环境,它将在你的虚拟环境目录中的相应位置,导航到该目录,并查找与basemap相关的文件和文件夹会有一个名为numpy的文件夹和/或一些以numpy开头的.pyd、.pyc、.pyo等文件,删除这些文件和文件夹;

更多安装选项

pip install --pre package

这个命令用于安装指定包的“预发布”版本。预发布版本通常包括alpha、beta、rc(候选发布)等版本,这些版本可能包含新功能,但也可能存在未修复的错误或不稳定的问题。使用--pre选项,pip会搜索并安装最新版本的包,包括预发布版本。

pip install --no-deps package

这个命令用于安装指定的包,但不安装其依赖项。默认情况下,pip会安装你指定的包以及它依赖的所有其他包。然而,如果你只想安装这个包而不关心它的依赖项,可以使用--no-deps选项。这通常不推荐,因为缺少依赖项可能会导致包无法正常工作。

pip install -r requirements.txt

这个命令用于从requirements.txt文件中读取并安装所有指定的Python包及其依赖项。requirements.txt文件是一个文本文件,列出了项目所需的所有Python包及其版本号(可选)。这个文件通常用于项目依赖管理,确保项目的环境在不同开发者和生产环境中保持一致。使用-r选项,pip会读取该文件中的每一行,将其视为pip安装命令的输入,并安装所有指定的包及其依赖项。

文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/48432.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解答word图标变白

把WPS卸载了之后就变成白色了,然后在注册表中把word的地址改成office word的地址之后图标变成这样了,怎么办 1.winR打开命令提示符 2.输入regedit,打开注册表编辑器 3.找到下面这个路径 计算机\HKEY_CLASSES_ROOT\Word.Document.8\Defaul…

【C#】已知有三个坐标点:P0、P1、P2,当满足P3和P4连成的一条直线 与 P0和P1连成一条直线平行且长度一致,该如何计算P3、P4?

问题描述 已知有三个坐标点:P0、P1、P2,当满足P3和P4连成的一条直线 与 P0和P1连成一条直线平行且长度一致,该如何计算P3、P4? 解决办法 思路一:斜率及点斜式方程 # 示例坐标 x0, y0 1, 1 # P0坐标 x1, y1 4, 4 # …

自适应键盘,自带隐藏键盘的输入框(UITextField)

引言 在iOS开发中,输入框占据着举足轻重的地位。与安卓不同,iOS输入框经常面临键盘遮挡的问题,或者无法方便地取消键盘。为了解决这些问题,有许多针对iOS键盘管理的库,如IQKeyboardManager、TPKeyboardAvoiding和Keyb…

分库分表 [ 技术 ] 指南 ✨

目录 ✨探索 技术 分库分表✨ 数据库分库分表指南 一、什么是分库分表 二、分库分表策略 三、分库分表的实现 四、分库分表的常见问题及解决方案 五、总结 相关面试题目 1. 解释什么是数据库分库分表,以及它的主要目的是什么? 2. 描述垂直分库…

STM32学习(1)--STM32介绍

STM32介绍 1.STM32简介2.ARM3.STM32F103C8T64.外设5.命名规则6.系统结构7.引脚定义8.启动配置9.最小系统电路10.新建工程步骤11.工程架构 课程知识及代码来源均来自b站 江协科技,下学期即将做毕设,需要用到STM32单片机,在这个假期我将持续学…

摸鱼大数据——Spark Structured Steaming——新零售数据分析案例

1、数据源介绍 数据内容 字段说明 2、分析需求 数据清洗需求 清洗需求:1) 将客户id(CustomerID)不为0的数据保留下来: CustomerID ! 02) 将商品描述(Description)不为空的数据保留下来: Description !3) 将日期&#…

gds-linkqueue:泛型链式队列

类似于C的queue的泛型容器,初始化、销毁、清空、入队、出队、取队首/尾、队空。 ​​​​​​​ ​​​​​​​

对某次应急响应中webshell的分析

文章前言 在之前处理一起应急事件时发现攻击者在WEB应用目录下上传了webshell,但是webshell似乎使用了某种加密混淆手法,无法直观的看到其中的木马连接密码,而客户非要让我们连接webshell来证实此文件为后门文件且可执行和利用(也是很恼火&a…

fMATLAB中fill函数填充不同区域

只需获取填充区域的边缘信息,函数边缘越详细越好,然后调用fill函数。 fill函数能够根据指定的顶点坐标和填充颜色来绘制多边形或曲线形状,并在其内部填充指定的颜色。这使得在MATLAB中创建具有视觉吸引力的图形变得简单而高效。 fill函数的…

《0基础》学习Python——第二十讲__网路爬虫/<3>

一、用post请求爬取网页 同样与上一节课的get强求的内容差不多,即将requests.get(url,headershead)代码更换成requests.post(url,headershead),其余的即打印获取的内容,如果content-typejson类型的,打印上述代码的请求,则用一个命…

笔记:现代卷积神经网络之VGG

本文为李沐老师《动手学深度学习》笔记小结,用于个人复习并记录学习历程,适用于初学者 神经网络架构设计的模块化 然AlexNet证明深层神经网络卓有成效,但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。 在下面的几个章节中&a…

【Vue】`v-if` 指令详解:条件渲染的高效实现

文章目录 一、v-if 指令概述二、v-if 的基本用法1. 基本用法2. 使用 v-else3. 使用 v-else-if 三、v-if 指令的高级用法1. 与 v-for 一起使用2. v-if 的性能优化 四、v-if 的常见应用场景1. 表单验证2. 弹窗控制 五、v-if 指令的注意事项 Vue.js 是一个用于构建用户界面的渐进式…

Flink调优详解:案例解析(第42天)

系列文章目录 一、Flink-任务参数配置 二、Flink-SQL调优 三、阿里云Flink调优 文章目录 系列文章目录前言一、Flink-任务参数配置1.1 运行时参数1.2 优化器参数1.3 表参数 二、Flink-SQL调优2.1 mini-batch聚合2.2 两阶段聚合2.3 分桶2.4 filter去重(了解&#xf…

【中项】系统集成项目管理工程师-第3章 信息技术服务-3.4服务标准化

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

持续集成02--Linux环境更新/安装Java新版本

前言 在持续集成/持续部署(CI/CD)的旅程中,确保开发环境的一致性至关重要。本篇“持续集成02--Linux环境更新/安装Java新版本”将聚焦于如何在Linux环境下高效地更新或安装Java新版本。Java作为广泛应用的编程语言,其版本的更新对…

XLua原理(一)

项目中活动都是用xlua开发的,项目周更热修也是用xlua的hotfix特性来做的。现研究底层原理,对于项目性能有个更好的把控。 本文认为看到该文章的人已具备使用xlua开发的能力,只研究介绍下xlua的底层实现原理。 一.lua和c#交互原理 概括&…

用程序画出三角形图案

创建各类三角形图案 直角三角形&#xff08;左下角&#xff09; #include <iostream> using namespace std;int main() {int rows;cout << "输入行数: ";cin >> rows;for(int i 1; i < rows; i){for(int j 1; j < i; j){cout << &…

003uboot目录分析和两个阶段

我们都知道s3c2440是一个soc&#xff0c;内含cpu和各种控制器、片内的RAM&#xff0c;他的CPU是arm920t。 我们先来分析一下uboot原码的各个目录 1.uboot目录分析 board&#xff1a;board里存放的是支持各个开发板的文件&#xff0c;包括链接脚本 common: common目录中存放的…

graham 算法计算平面投影点集的凸包

文章目录 向量的内积&#xff08;点乘&#xff09;、外积&#xff08;叉乘&#xff09;确定旋转方向numpy 的 cross 和 outernp.inner 向量与矩阵计算示例np.outer 向量与矩阵计算示例 python 示例生成样例散点数据图显示按极角排序的结果根据排序点计算向量转向并连成凸包 基本…

set、map、multiset、multimap容器介绍和常用接口使用

文章目录 前言一、set容器二、multiset三、map四、multimap 前言 1、set、map、 multiset、 multimap都是基于红黑树实现的容器。 2、set、multiset都使用头文件#include<set>,map、multimap都是使用头文件#include<map> 一、set容器 1、set容器的介绍 C标准库中的…