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

2024-05-11 17:36

本文主要是介绍将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本地镜像源的使用和配置纳入规划。

这篇关于将python库下载到本地安装—Pypi官网wheel版本选择详解—小白详解版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/980201

相关文章

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

java中反射(Reflection)机制举例详解

《java中反射(Reflection)机制举例详解》Java中的反射机制是指Java程序在运行期间可以获取到一个对象的全部信息,:本文主要介绍java中反射(Reflection)机制的相关资料... 目录一、什么是反射?二、反射的用途三、获取Class对象四、Class类型的对象使用场景1五、Class

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.

一文详解如何从零构建Spring Boot Starter并实现整合

《一文详解如何从零构建SpringBootStarter并实现整合》SpringBoot是一个开源的Java基础框架,用于创建独立、生产级的基于Spring框架的应用程序,:本文主要介绍如何从... 目录一、Spring Boot Starter的核心价值二、Starter项目创建全流程2.1 项目初始化(