将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

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque