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

news2024/9/20 8:42:08

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


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


文章目录

  • python库—本地安装文件下载🚀
  • 1.从PYPI官网查找需要的第三方库
  • 2.PYPI中库的源代码压缩包的下载和安装(不推荐)
  • 3.安装wheel文件
    • 3.1 通用版本的wheel文件
      • 3.1.1 相对路径安装-更稳妥
      • 3.1.2 绝对路径安装-更快捷
    • 3.2 细分版本的wheel文件
      • 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.coloradmin.cn/o/1666880.html

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

相关文章

【Docker】Ubuntu下Docker的基本使用方法与常用命令总结

【Docker】docker的基本使用方法 镜像image与容器container的关系基本命令- 查看 Docker 版本- 拉取镜像- 查看系统中的镜像- 删除某个镜像- 列出当前 Docker 主机上的所有容器,包括正在运行的、暂停的、已停止的,以及未运行的容器- 列出当前 Docker 主机…

Matlab 验证 复数的幂计算规则

复数的幂计算规则 close all a9; b0:0.1:5;result1 exp(1j*2*pi*a.*b); result2 (exp(1j*2*pi*a)).^b; idxfind(result1result2); b_idxb(idx);figure plot(b,angle(result1(:)),-r*) hold on plot(b,angle(result2(:)),bo) grid on

C++内存管理(1)

目录 1.new用法说明 2.new/delete在栈里面的运用 3.operator new/operator delete函数 4.构造函数的显式调用 5.malloc&&new&&free&&delete区别 1.new用法说明 (1)在C语言阶段,我们无论是为数组开辟空间&#x…

Disk Map for Mac,让您的Mac更“轻”松

还在为Mac磁盘空间不足而烦恼吗?Disk Map for Mac来帮您轻松解决!通过独特的TreeMap视觉显示技术,让您一眼就能看出哪些文件和文件夹占用了大量空间。只需简单几步操作,即可快速释放磁盘空间,让您的Mac更“轻”松。快来…

STL-Hashtable

hashtable hashtable是通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系,这样在查找的时候就可以很快的找到该元素。 哈希函数 哈希函数的定义域必须包括需要存储的全部关键码,而如果散列表允许有m个地址时&#xff0c…

Web UI自动化测试--PO模式

没有PO实现的测试用例的问题: 重用性低:登录功能重复可维护性差:数据和代码混合可读性差:元素定位方法杂乱(id、xpath、css混杂)可读性差:不易识别操作的含义(特别是css和xpath语法)可维护性差:如果某个元素的属性改了,你要更改多次PO(Page Object Model)页面对象模型…

Linux 第二十八章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

C# SolidWorks 二次开发 -从零开始创建一个插件(3) 发布插件

五一节过完了吧,该上班学习了吧? 如何把自己开发好的程序优雅的给别人使用。 今天我们来简单讲解一下,这个之前不少粉丝咨询过相关问题,自己开发好的东西,如何给同事或者其它人使用。 先列一下使用到的主要工具&am…

计算机毕业设计】springbootBBS论坛系统

本系统为用户而设计制作 BBS论坛系统,旨在实现BBS论坛智能化、现代化管理。本BBS论坛自动化系统的开发和研制的最终目的是将BBS论坛的运作模式从手工记录数据转变为网络信息查询管理,从而为现代管理人员的使用提供更多的便利和条件。使BBS论坛系统数字化…

SpringCloud使用Nacos作为配置中心实现动态数据源切换

一、Nacos-Server 了解Nacos可以直接阅读官方文档 使用Nacos,我们需要有Nacos-Server,此处就不使用官方提供的release版本了,而是自己编译,因为本来就是Java开发的,所以对于Javaer来说也没啥难度! git c…

解决NVM 下载node.js慢问题->最新镜像

一、NVM 介绍 nvm是node版本管理工具,可以运行在多种操作系统上。这里主要记录一下在windows系统的安装和使用。 在使用过程中,下载其他版本时会出现下载慢或卡住或下载失败的情况,是因为服务器在国外,网络原因导致,…

【神经网络】输出层的设计

文章目录 前言一、恒等函数和softmax函数恒等函数softmax 函数python实现softmax函数 二、实现softmax函数时的注意事项函数优化python实现 三、softmax函数的特征计算神经网络的输出输出层的softmax函数可以省略“学习”和“推理”阶段 四、输出层的神经元数量 前言 神经网络…

03.Linux文件操作

1.操作系统与Linux io框架 1.1 io与操作系统 1.1.1 io概念 io 描述的是硬件设备之间的数据交互,分为输⼊ (input) 与输出 (output)。 输⼊:应⽤程序从其他设备获取数据 (read) 暂存到内存设备中;输出:应⽤程序将内存暂存的数据…

FreeRTOS学习笔记-基于stm32(6)时间片调度实验

1、什么是时间片调度 在任务优先级相同的时候,CPU会轮流使用相同的时间去执行它,即时间片调度。这个相同的时间就是时间片。而时间片的大小就是SysTick的中断周期(SysTick的中断周期可以修改)。 比如有三个相同优先级的任务在运行…

基于C++基础知识的指针

一、变量与指针 在C中,变量是用来存储数据的一个标识符,而指针是一个变量,该变量存储的是另一个变量的地址。 变量可以是不同的数据类型,包括整数、浮点数、字符、布尔值等。在声明变量时,需要指定变量的数据类型和标…

差分约束 C++ 算法例题

差分约束 差分约束 是一种特殊的 n 元一次不等式组,m 个约束条件,可以组成形如下的格式: { x 1 − x 1 ′ ≤ y 1 x 2 − x 2 ′ ≤ y 2 ⋯ x m − x m ′ ≤ y m \begin{cases} x_1-x_1^{} \le y_1 \\ x_2-x_2^{} \le y_2 \\ \cdots \\ x_…

TCP的四次挥手过程

TCP连接是双向传输的对等的模式(全双工模式),就是说双方都可以同时向对方发送或接收数据。 而断开的时候,也是双方都可以主动断开,此时需要经过四次挥手的过程,流程如下图所示: 主动方发送FIN包…

HTTP1.1的优化措施

3.2 HTTP/1.1 如何优化? 可以从以下三个方面来优化http/1.1协议: 尽量避免发送 HTTP 请求; 在需要发送 HTTP 请求时,考虑如何减少请求次数; 减少服务器的 HTTP 响应的数据大小; 避免发送HTTP请求 对于…

智能文件夹改名助手:一键秒级恢复原始名称,轻松告别繁琐操作,提升文件管理效率

文件夹管理成为了我们日常工作和生活中不可或缺的一部分。然而,随着文件数量的不断增加和文件夹命名的复杂性,我们经常面临着重命名文件夹的繁琐操作。你是否曾经因为误改文件夹名称而头疼不已?是否曾经为了找回原始名称而耗费大量时间&#…