解决python通过pip离线安装flask,numpy报错解决(centos)

news2024/11/25 0:42:04

1. 离线安装Python

https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
解压,编译,安装

 tar xzvf Python-3.7.1.tgz 
 ./configure
 make
 make install 

离线环境下如果系统不是完整版安装编译会报错,需要解决依赖问题,如下:

The necessary bits to build these optional modules were not found:
_bz2                  _curses               _curses_panel
_dbm                  _gdbm                 _hashlib
_lzma                 _sqlite3              _ssl
_tkinter              _uuid                 readline

下载依赖包
第一种方式: 在pkgs.org 上搜索依赖包
第二种方式:

yum install --downloadonly  --downloaddir=DLDIR  zlib-devel bzip2-devel openssl-devel ncurses-devel  epel-release gcc gcc-c++ xz-devel readline-devel gdbm-devel sqlite-devel tk-devel db4-devel libpcap-devel libffi-devel

下载完成后上传到目标服务器

2. 离线安装flask包

在有网的机器上下载whl包

pip download flask==1.0.2  -d  pip-package #pip-package为存放whl文件的路径,会自动生成

在没有网络的服务器上安装flask模块

python3 -m pip install  flask  --no-index --find-link=pip-package

遇到的问题:
pip-package路径下已经存在MarkupSafe的whl文件但是仍然报错

Could not find a version that satisfies the requirement MarkupSafe>=2.1.1 (fro m Werkzeug>=0.14->flask) (from versions: )
No matching distribution found for MarkupSafe>=2.1.1 (from Werkzeug>=0.14->flask )

$ ls
MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

解决python通过pip离线安装flask依赖包MarkupSafe报错No matching distribution found for MarkupSafe>=2.1.1

单独安装这个MarkupSafe试试:

$ python3 -m pip install  MarkupSafe-2.1.2-cp37-cp37m -manylinux_2_17_x86_64.manylinux2014_x86_64.whl --no-index

报错
MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl is not a s upported wheel on this platform.
平台不支持,在https://pypi.org/project/MarkupSafe/2.1.3/#files 上看所有的whl文件

"musllinux"和"manylinux"都是Linux系统的名称。
"musllinux"是基于MUSL libc库的一种Linux发行版,MUSL libc是一个超轻量级的C标准库,它相对于glibc等标准库来说更小巧,更适合嵌入式设备或者资源有限的系统。
"manylinux"则是一个软件打包规范,在多种Linux发行版上运行的二进制包。这个规范主要是为了解决在不同Linux发行版上软件依赖方面的问题。符合这个规范的二进制包能够在多种Linux发行版上运行,因为它们包含了不同Linux发行版上所需的所有依赖库。

版本并没有什么问题
查看系统版本(通过python方法查看):
python3

from distutils import util
util.get_platform()

>> 'macosx-11.0-arm64'

在这里插入图片描述
没有问题 ,但是系统监测不到
解决: 尝试修改whl包的名称:

mv MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_6 4.manylinux2014_x86_64.whl MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.linux_x86_64.whl

将manylinux2014_x86_64修改为linux_x86_64 问题解决,离谱
知识点:

Python的whl文件是一种Python软件包的二进制分发形式,它通常用于方便地安装和分发Python库。
关于whl文件的命名规范,一般采用以下格式:
distribution_name-version-cp[python_version]-[abi_tag]-[platform_tag].whl
其中,各个字段的含义如下:

  • distribution_name:软件包名称
  • version:软件包版本号
  • cp[python_version]:Python版本号,如cp37表示Python 3.7
  • abi_tag:软件包兼容的Python ABI标签,如cp37m表示CPython 3.7的ABI标签
  • platform_tag:软件包适用的操作系统平台标签,如linux_x86_64表示Linux下的64位系统,macosx_10_9_x86_64表示Mac
    OS X 10.9下的64位系统

举个例子,一个包名为mymodule,版本号为1.0.0,适用于Python 3.7,使用CPython
3.7m作为ABI标签,适用于Linux 64位系统的whl文件应该命名为:

mymodule-1.0.0-cp37-cp37m-linux_x86_64.whl

需要注意的是,上述命名规范只是约定俗成的规范,并非Python官方标准。实际上,它还有一些变种和衍生,具体的命名方式可以参考各个Python库的官方文档或源码仓库。

3. 离线安装numpy

安装方式同上:
报错:
python3 -m pip install numpy --no-index --find-li nk=.
Looking in links: .
Collecting numpy
Could not find a version that satisfies the requirement numpy (from versions: )
No matching distribution found for numpy
解决同上:

mv numpy-1.21.6-cp37-cp37m-manylinux_2_12_x86_64.ma nylinux2010_x86_64.whl numpy-1.21.6-cp37-cp37m-manylinux_2_12_x86_64.linux_x86_64.whl

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

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

相关文章

5 种常见的 Linux 打包类型:tar、gzip、bzip2、zip 、 7z

在 Linux 系统中,打包和压缩文件是常见的操作。不同的打包类型适用于不同的用途和需求。本文将详细介绍 5 种常见的 Linux 打包类型,包括tar、gzip、bzip2、zip 和 7z,以及它们的特点、使用方法和适用场景。 1. tar tar(tape arc…

音悦台项目测试报告

文章目录 项目背景项目功能测试计划与设计功能测试自动化测试 测试结果功能测试结果UI自动化测试结果 项目背景 现如今人们的生活压力大,容易使人疲惫,为了使得人们在闲暇之余可以听音乐放松,为此设计出一款轻量的听音乐网站,快速…

centos安装部署Kubernetes(k8s)步骤使用kubeadm方式

文章目录 1、修改系统配置2、安装docker应用3. 拉取docker镜像4、cri-dockerd安装5、安装kubeadm和kubelet6、配置flannel网络插件7、Node节点加入集群操作 机器地址: 192.168.0.35 k8s-master 192.168.0.39 k8s-node1 192.168.0.116 k8s-node2 1、修改系统配置 修…

Web应用技术(第十六周/持续更新)

本次联系基于how2j的教程完成对SpringBoot的初步学习。 初识Springboot 学习导入:1.第一个基于SpringBoot的项目:(1)application.java:该文件中的核心代码: (2)HelloController.jav…

一. ATR技术指标的定义与运用

一. ATR的定义 1. 什么是ATR ATR英文全名是Average true range,翻译过来就是平均真实波幅,这个指标主要用来衡量最近N天TR(真实波幅)的平均值。 2. ATR相关计算公式 T R [ ( 最高价 − 最低价 ) , ( 前一次收盘价 − 最高价 ) &#xff0…

macOS Sonoma 14.0 Beta 1 (23A5257q) Boot ISO 原版可引导镜像

macOS Sonoma 14.0 Beta 1 (23A5257q) Boot ISO 原版可引导镜像 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Windows 和…

OAuth2.0 授权 OpenID Connect 身份认证

文章目录 OAuth2.0历史由来名词解释授权码模式(authorization code 最常用)先换取code,再根据 code 换取 access_token原因 简化模式(implicit)密码模式(resource owner password credentials)客…

【P49】JMeter 查看结果树(View Results Tree)

文章目录 一、查看结果树(View Results Tree)参数说明二、准备工作三、测试计划设计 一、查看结果树(View Results Tree)参数说明 可以查看取样器的请求参数、返回结果 使用场景:一般在调试测试计划期间用来查看取样…

Bigdata1234.cn课堂测试

Java源文件中有一个公共类名称为Test,则该源文件名必须是:Test.java . Java中的基本数据类型共有8个:byte、short、int、long、float、double、char、boolean。 . Eclipse中内容补全的快捷键是alt/ Eclipse 中自动导包的快捷键是 Ctrl Sh…

MySQL数据库从入门到精通学习第8天(表数据的查询)

表数据的查询 基本查询语句单表查询聚合函数查询多表连接查询子查询合并查询结果定义表和字段的别名使用正则表达式查询 基本查询语句 SELECT 语句非常的强大,是最常用的查询语句。他具有一个固定的格式,如下: SELECT 查询的内容 FROM 数据…

【Mysql数据库从0到1】-入门基础篇--mysql 多表查询

【Mysql数据库从0到1】-入门基础篇--mysql 多表查询 🔻一、mysql 多表查询1.1 🍃 7种sql joins 的实现1.2 🍃 错误写法---笛卡尔积错误1.3 🍃 正确的多表select写法 🔻二、内连接( inner) join🔻三、 外连接…

100天精通Golang(基础入门篇)——第2天:学习Go语言的前世今生:一门强大的编程语言的崛起

🌷 博主 libin9iOak带您 Go to Golang Language.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《I…

如何构建一个可实盘的跨期套利策略?

一、策略摘要 跨期套利,在同一个品种但不同月份的期货合约上建立仓位相同、方向相反的交易头寸,最后以对冲或交割方式结束交易、获得收益。因其合约价差具有较好的稳定性,被众多交易者所青睐。本篇内容我们将通过掘金量化平台构建一个可交易…

私募证券基金动态-23年5月报

成交量:5月日均11,342.95亿元 2023年5月A股两市日均成交9,284.12亿元,环比下降18.15%、同比上升10.56%。5月整体20个交易日,仅有月初5个交易日单日成交金额过万亿。 管理人:新提交备案6家,备案通过0家 2023年5月新提…

Shape-Erased Feature Learning for Visible-Infrared Person Re-Identification

Shape-Erased Feature Learning for Visible-Infrared Person Re-Identification(形状擦除特征学习在可见红外人物再识别中的应用) 期刊合集:最近五年,包含顶刊,顶会,学报>>网址 文章来源&#xff1…

Lecture 10 Distributional Semantics

目录 Problems of Lexical Database 词汇数据库的问题分布假设根据上下文猜测单词含义Word vectors 词向量词嵌入Count-based Word Vectors 基于计数的方法Document as Context: The Vector Space Model 向量空间模型TF-IDFDimensionality Reduction 降维 Words as Context 单词…

跨数据中心高可用架构设计

前言 随着常年的码代码,做设计,笔者做过基础编码,云计算平台,架构师,见过不少应用设计,系统设计,中间件,了解现有的技术体系发展模式,集中式->分布式;cap…

阿里8年,肝到P7只剩这份笔记了,已助朋友拿到15个Offer....

时光飞逝,转眼间在阿里工作了8年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候,熬到P7也费了不少心思 我的职业生涯开始和大多数测试人一样,刚开始接触…

Redis进阶:分布式锁问题

分布式锁问题 1. 分布式锁问题1.1 问题介绍1.2 解决方案1.2.1 分布式锁主流的实现方案1.2.2 使用Redis实现分布式锁1.2.3 分布式锁需要满足的四个条件 1.3 实现分布式锁 1. 分布式锁问题 1.1 问题介绍 单机单体中的锁机制在分布式集群系统中失效;单纯的Java API并…

Linux快速安装MySQL

文章目录 Linux上安装MySQL1. 安装MySQL1)上传MySQL安装包以及MySQL驱动jar包2)解压MySQL安装包3)卸载系统自带的mariadb4)安装MySQL依赖5)安装mysql-client6)安装mysql-server7)启动MySQL8&…