将python库下载到本地安装—Pypi官网wheel版本选择详解—小白详解版

python库—本地安装文件下载🚀


        在项目中需要在内网环境下配置python的环境,因此需要将用于安装python库的文件下载到本地传到内网环境当中然后再安装,通过这契机我开始了解了一下如何离线下载安装python的第三方库,以及配置本地的Nexus镜像源等事项,仔细研究发现这里有很多细节直接推敲的,上网搜了搜相关的教程,看了之后emmm,故有了这篇文章。


文章目录

  • python库—本地安装文件下载🚀
  • 1.从PYPI官网查找需要的第三方库
  • 2.PYPI中库的源代码压缩包的下载和安装(不推荐)
  • 3.安装wheel文件
    • 3.1 通用版本的wheel文件
      • 3.1.1 相对路径安装-更稳妥
      • 3.1.2 绝对路径安装-更快捷
      • 3.2.1 windows系统的wheel文件版本选择
      • 3.2.2 linux系统的wheel文件版本选择
      • 3.2.3 macos系统的的wheel文件版本选择
      • 3.2.4 细分版本安装
  • 4.总结

1.从PYPI官网查找需要的第三方库


        如果需要本地安装一个软件包或者叫第三方库,就需要先把用于本地安装的文件从统一管理软件安装包的网站上下载下来,python的whl文件的官方下载网站为PIPY:https://pypi.org/,所有的开源软件包都可以在这上面找到,输入想要的软件包或者库的名字即可进入对应的介绍和下载页面。

在这里插入图片描述
        在搜索框内输入要下载的库的名称这里以Numpy为例,搜索之后找到对应的软件包。

在这里插入图片描述
        点进去之后可以在导航栏部分,发布历史(也就是历史版本)以及文件下载部分,默认情况下点击文件下载Download files,默认会下载最新的版本—在当前例子中下载的就是1.26.4—在有些时候可能需要选择非最新的一些指定的版本,此时需要点击历史版本Release history选择对应所需的历史版本即可。

在这里插入图片描述
点击download之后的界面
在这里插入图片描述

2.PYPI中库的源代码压缩包的下载和安装(不推荐)


        在PIPY官网中的软件安装包的下载文件主要有三种,通用打包版本(Universal Wheels),细分版本(Platform Wheels),和源代码压缩包版本(不是wheel文件),接下来对三种下载文件进行详细介绍。

——下载

        源代码压缩包版本一般都会提供在下载页面的Source Distribution,下面点击天蓝色的源代码压缩包名称,这里选择jieba库为例,jieba只有源代码压缩包版本,(例:点击jieba-0.42.1.tar.gz,网页就会发起一个get请求然后进入自动下载。
在这里插入图片描述
        下载之后打开下载文件所在的文件夹然后对其进行解压(这里也可以先将浏览器里下载得到的文件移动到自己建立的文件夹里),然后点开解压之后的文件夹。
在这里插入图片描述
        然后需要记下setup.py文件所在的目录,之后需要在控制台进入setup.py文件所在的路径。

在这里插入图片描述
        在控制台输入python可以查看python的具体版本编号并进入python操作模式,在python操作模式下输入exit()即可退出python回退到命令台操作模式。

在这里插入图片描述
然后获得下载得到的路径:在命令控制台中通过cd命令切换当前所在的操作路径。

注意如果你要切换的操作路径和你当前的操作路径不在一个盘的情况下,须要先执行切换根目录也就是切盘。

例如我要访问的路径是:(记得换成自己的路径)

D:\Users\Administrator\Downloads\jieba-0.42.1

你当前所在目录是:

C:\Users\Administrator

则你首先要执行下面的路径将当前操作的根目录切换到D盘:

d:

之后再执行下方命令,即可进入到numpy-1.26.4.tar.gz所在文件夹:(记得换成自己的路径)

cd D:\Users\Administrator\Downloads\jieba-0.42.1

之后在该路径下执行下面的命令:

python setup.py install

在这里插入图片描述
        这里报了一堆警告,说setup.py已经被废弃了,之后尽量避免使用setup.py,但是没有error因此其实它还是安装上了,但是有一些库,比如numpy如果你下载之后直接还是用setup.py安装的话就会报错,这种方法并不推荐使用,除非只有源文件,不然的话还是去下wheel轮子文件比较好。

然后可以输入pip list 命令来查看,jieba库已经成功安装到本地。

pip list

在这里插入图片描述

3.安装wheel文件


什么是whl文件whl 文件是一个 Python 软件包的分发格式,全称是 Wheel 文件。Wheel 是一个为 Python 设计的二进制包格式,它允许快速地安装 Python 库和应用程序。Wheel 文件本质上是 ZIP 格式的压缩文件,包含了用于安装软件包的所有文件。使用 Wheel 文件安装软件包由于不需要编辑通常比使用源代码安装(如 .tar.gz 文件)要快。

        软件包的提供wheel文件的方式有两种,一种是提供通用版本,通用版本一般只需要满足python的大版本条件例如只要是python3就行不挑操作系统和系统架构,一种是提供各个细分版本,细分版本会针对python版本,操作系统,系统使用的架构(例如Linux-X86和AMR64)的不同提供不同的wheel文件。
通用示例:flask-3.0.3-py3-none-any.whl
细分示例:numpy-1.26.4-cp310-cp310-win_amd64.whl

3.1 通用版本的wheel文件

        通用的whl版本为最方便的一种,其可以直接用于各类系统的安装,而且是二进制文件不需要编译因此比安装源代码版本要快,以flask库为例,flask的通用安装包的名称为flask-3.0.3-py3-none-any.whl:其中py3表示可以安装在python3的所有版本上。none表示所有操作系统都能安装,包括windows、linux、macos。any表示不挑架构,例如在linux上X86和AMR64都能安装。
在这里插入图片描述
点击浅蓝色的flask-3.0.3-py3-none-any.whl下载文件。

在这里插入图片描述
我用的谷歌浏览器鼠标移动或者各种方式打开下载到的文件夹,然后打开whl文件所在的目录。
在这里插入图片描述
下载之后获得whl包所在的路径,当然也可以移动到自己建立的文件夹中便于整体管理。
在这里插入图片描述
        之后进入命令控制台进入到自己要安装的环境中,或者项目专属的虚拟环境当中,我这里进入在上一阶段建立的被我命名为python的虚拟环境中。

conda activate python

3.1.1 相对路径安装-更稳妥

然后进入到whl文件所在的文件夹目录下,再说一下,如果要访问的路径和当前操作路径不在一个盘,需要先切换当前操作盘,然后用cd再将当前操作路径切换到指定的操作路径下。由于我要访问的操作路径再D盘,所以需要先切换到D盘的路径下依次执行下面的命令。根据自己的情况切换操作路径

d:
cd D:\Users\Administrator\Downloads

在这里插入图片描述
然后在当前目录下执行 pip install 文件名.whl

pip install flask-3.0.3-py3-none-any.whl

重要!

        这里有个问题如果你安装的wheel文件本身还有一些依赖(库,包)是你当前环境中没有安装的则需要补充这些依赖,如果在联网状态下,则会直接联网进行下载,如果在没联网的状态下,则需要手动按照手动的方式先把基础的依赖下载下来,安装顺序上也要先安装基础依赖的wheel然后再安装,为了解决这个安装顺序的问题,需要去维护一个本地的Nexus镜像源,该部分内容会规划到后续的内容当中。


例如:我虽然只安装了一个Flask,但是最后提示信息给我安装了一堆依赖除了Flask其他都是联网补充下载的。

Successfully installed Jinja2-3.1.4 MarkupSafe-2.1.5 Werkzeug-3.0.3 blinker-1.8.2 click-8.1.7 colorama-0.4.6 flask-3.0.3 itsdangerous-2.2.0

在这里插入图片描述
然后输入pip list 可以看到包已经都被安装了。
在这里插入图片描述

3.1.2 绝对路径安装-更快捷

绝对路径安装不需要切盘但是命令比较长,(记得换成自己的路径):

pip install D:\Users\Administrator\Downloads\flask-3.0.3-py3-none-any.whl

在这里插入图片描述## 3.2 细分版本的wheel文件

细分版本的wheel文件在下载的过程中就需要自己找了,我们以numpy为例。

首先要知道自己的python版本,在命令提示窗中切换到安装环境下,输入python就能看见了,这里是3.10。
在这里插入图片描述
然后确定了3.10的python版本之后需要进入下载页面下滑找到3.10版本的对应库的安装包,然后进一步根据系统再进行筛选,首先从PYPI网站中搜索numpy然后进入downloadfiles。

在这里插入图片描述
找到python3.10版本的安装包所在的部分。
在这里插入图片描述

3.2.1 windows系统的wheel文件版本选择

其中windows的版本有两个。
在这里插入图片描述
其中numpy-1.26.4-cp310-cp310-win_amd64.whl,是针对windows的64位系统的也是目前绝大多数的人使用的,

如果想看一下自己的操作系统是多少位的,可以进入控制面板,然后查看方式选择小图标找到系统选项。
在这里插入图片描述
然后点系统进去就能看见是64位的操作系统。

在这里插入图片描述
所以我们选择Winddows x86-64的版本
在这里插入图片描述
在这里插入图片描述

3.2.2 linux系统的wheel文件版本选择

一般而言会有4个linux系统的wheel,大类上分为musllinux和manylinux两种

  • musllinux:表示适用于使用musl库而非更常见的glibc的Linux发行版(我也不太了解)
  • manylinux:表示适用于大量正常的linux版本,例如centos等,我们一般而言选择这个
    在这里插入图片描述
    然后就是linux的系统架构分为X86架构和ARM64架构,X86会更常用一些,所以普遍而言如果是Linux我们会选择下载下面这个:
    在这里插入图片描述
    然后安装方式也是一样的。

3.2.3 macos系统的的wheel文件版本选择

macOS系统有两个版本的wheel文件。
在这里插入图片描述
苹果的我没太用到,这里直接应用ChatGPT的回答。

结论是 M1,M2芯片选ARM64, intel芯片选x86
在这里插入图片描述

3.2.4 细分版本安装

细分版本的安装命令和通用版本的命令一致:

d:
cd D:\Users\Administrator\Downloads
pip install 细分版本包名.whl

操作过程依旧是进入到指定操作目录下然后 使用 pip install 细分版本包名.whl
在这里插入图片描述
也可以使用全局路径直接安装
在这里插入图片描述

4.总结

        总体来说的话如果要是离线安装还是需要,配置一个nexus的本地镜像源,如果单独使用,确实非常的麻烦,之后将Nexus本地镜像源的使用和配置纳入规划。

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

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

相关文章

【Linux】环境变量是什么?如何配置?详解

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

深入理解JavaScript事件循环Event Loop:宏任务与微任务的奇幻之旅

🔥 个人主页:空白诗 文章目录 🎉 引言🌟 什么是事件循环?📚 「宏任务」 vs 「微任务」「宏任务」(Macrotask)「微任务」(Microtask)实际应用中的注意事项 🔀 执行流程概览📝 代码示例…

算法学习笔记(2)-前缀和

##前缀和 指的是某序列的前n项和,在数学上我们可以理解称为数列的前n项和。前缀和是一种预处理,用于降低查询的时间复杂度。 ##一维前缀和 有一个一维数组x和该数组的前缀和数组y,则x和y具有以下关系: #python代码示例 #关系&am…

上位机图像处理和嵌入式模块部署(树莓派4b和电源供给)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面,我们说过pc电脑和嵌入式设备,两者都可以实现相同的软件功能。但是和pc相比较,嵌入式设备不仅价格更便宜&a…

计算机视觉——OpenCV实现Lucas-Kanade 光流

1.光流 光流法是计算机视觉中用于估计图像序列中物体运动的关键技术。它类似于观察夜空中的彗星,通过其在天空中的运动轨迹来追踪它的路径。在图像处理中,光流帮助我们理解像素点如何在连续的帧之间移动。 1.1 稀疏光流法 稀疏光流法关注于图像中的关…

Web3空投入门:如何增加空投成功的几率

今天分享空投如何避免限制以提高效率,增加成功几率,首先我们来了解什么是空投加密,有哪些空投类型。 一、什么是空投加密? 加密货币空投是一种营销策略,包括向用户的钱包地址发送免费的硬币或代币。 加密货币项目使用…

Leetcode—155. 最小栈【中等】

2024每日刷题(130) Leetcode—155. 最小栈 实现代码 class MinStack { public:MinStack() {}void push(int val) {if(st.empty()) {st.emplace(val, val);} else {st.emplace(val, min(val, st.top().second));}}void pop() {if(st.empty()) {return;}…

【漏洞复现】用友U8-Cloud XChangeServlet XXE漏洞

0x01 产品简介 用友U8Cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案。 0x02 漏洞概述 用友U8 cloud /service/XChangeServlet接口存在XXE漏洞,未授权的攻击者可通过此漏洞获取数据库敏感信息,从而盗取服务器数据,造成服务器信…

林更新博士之路星途璀璨再启航

林更新:博士之路,星途璀璨再启航在这个充满机遇与挑战的时代,有一位演员以其出色的演技和不懈的努力,赢得了无数观众的喜爱。他,就是林更新。今日,一条消息如重磅炸弹般在娱乐圈炸开,让无数粉丝…

UBOOT介绍

一、UBOOT简介 U-boot全称 Universal Boot Loader,是遵循GPL条款的开放源码项目,uboot 是一个裸机代码,可以看作是一个裸机综合例程,执行启动内核的功能。 补充:GPL条款(GNU General Public License&…

空间复杂度与链表刷题

"一切的一切都是你自己在感应." 本文索引 空间复杂度复杂度实例实例1实例2实例3 链表题目1. 返回倒数第K个节点2. 链表的回文结构3. 相交链表4. 随机链表的复制5. 环形链表 总结: 前言: 本文主要探究空间复杂度与链表题目讲解 更多文章点击主页: 酷酷学!!! 如果此文对…

构建内网yum仓库

1、环境介绍 系统:龙蜥os 7.9 2、安装epel源 yum install epel-release -y3、安装nginx服务器并启动 yum install nginx httpd -y配置 server {listen 80;server_name repo.wtown.com;root /usr/share/nginx/html/repo;index index.html index.htm;location / {…

Sora惊艳亮相:AI技术掀起创作革命,影视产业迎来新风貌!

Sora平台近期发布了名为"Sora首次印象"的更新,为用户带来了令人瞩目的变化。该更新不仅展示了Sora平台的发展方向,还介绍了其在电影制作、广告宣传等领域的潜在应用。 同时,Sora的首席执行官Sam Altman与好莱坞影视工作室进行了会…

基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表

目录 一、引言 二、数据分组原理与意义 三、案例分析 四、代码实现与解释 五、对新手友好的解释 六、技术细节与扩展 七、实际应用场景 八、总结 一、引言 在数据处理和分析的广阔领域中,数据分组是一项基础且重要的任务。数据分组通常指的是将数据集中的元…

在做题中学习(55):一维前缀和模板

【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) 题目解释: 注意:下标从1开始的。 l 和 r就是对这n个整数去取一个区间,例如示例一: (1,2) 区间 就是算出1 2 4 中 1,2下标对应值的和,12 3 同理,(2,3) …

springboot2.x集成Elasticsearch7.7.0

一、前言 elasticsearch安装就不做过多介绍了,网上一搜一大堆;最需要注意的就是Elasticsearch与spring版本,防止版本不兼容导致的后续的一系列问题。我这里springbootspring-data-elasticsearch,他们的版本对照关系可以参照sprin…

vue2后台管理项目

一:项目准备 1)拉取模板代码 远程仓库复制到本地仓库. 2)安装后的项目 路径 code 文件夹 会打开vscode的文件夹. 3)安装vetur和eslint插件可以保存时自动修改不规范的地方. 4)App内有一级路由,路由组件导入如果是layout架子,会导入的是文件夹下的index.js没有则导入index.v…

有什么实用的还原试卷的app免费?6个软件教你快速进行还原试卷

有什么实用的还原试卷的app免费?6个软件教你快速进行还原试卷 在现代化的教学环境中,使用数字化工具进行试卷还原变得愈发重要。以下是六个实用的、免费的应用程序,它们为还原试卷提供了便捷的解决方案。 FunAI: 这款应用程序可…

SD-WAN提升Microsoft 365用户体验

随着数字化时代的到来,SaaS应用如Microsoft 365已经成为各类企业的主流选择。在这一趋势下,企业需要以更加灵活、高效的方式使用Microsoft 365,以满足日益增长的业务需求。而传统的网络基础设施可能无法满足这一需求,因此&#xf…

指针的奥秘(三):数组指针+函数指针(+typedef)+函数数组指针+转移表

指针 一.数组指针1.数组指针变量是什么?2.指针数组和数组指针区别和口诀3.数组指针变量怎么初始化4.二维数组传参的本质 二.函数指针1.函数指针变量的创建2.函数指针变量的使用3.两段有趣的代码1.( *( void ( * )( ) )0 ) ( );2.void( *signle(int, void( * )(int) …