当前位置: 首页 > news >正文

【python基础】—离线环境下,在linux中安装python包(以sqlalchemy为例)

文章目录

  • 第一步:在线环境下载离线安装包及依赖包。
  • 第二步:把包上传到离线环境的服务器上,进行安装。
  • 第三步:测试是否安装成功。
  • 常见报错之版本选择问题


第一步:在线环境下载离线安装包及依赖包。

下载第三方库官网:https://pypi.org/,进入官网搜索要安装第三库名,选择合适的版本。本文以安装sqlalchemy库为例。

在这里插入图片描述

在这里插入图片描述

注意版本选择,否则会报错。
执行命令 “python -m pip debug --verbose” 查看pip支持的文件名和版本了,下载包含其中一个的版本即可,例如:安装sqlalchemy的包名称含有 “cp310-cp310-manylinux_2_17_x86_64” 即可。

在这里插入图片描述

第二步:把包上传到离线环境的服务器上,进行安装。

将下载的包上传到site-packages目录的路径,如果不知道具体,可以执行下面的语句,查看路径。

# 通过Python的site模块获取site-packages目录的路径
import site
print(site.getsitepackages())

在这里插入图片描述

有两种安装方式。

  • 对于.whl文件,直接运行下面的命令进行安装。
    • pip install *.whl文件
pip install SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_x86_64.whl
  • 对于.tar.gz文件,按照下面的步骤进行安装。
    • 1、解压安装包 tar -zxvf *.tar.gz
    • 2、解压完成后,进入解压后的目录 cd *
    • 3、使用setup.py文件进行安装:python setup.py install

第三步:测试是否安装成功。

在python包安装成功后,可以从python控制台中验证其是否安装成功。

  • 1、运行 python 命令。
  • 2、import package_name。

如果这个命令没有报错就是该包已经成功安装。

在这里插入图片描述


常见报错之版本选择问题

报错: is not a supported wheel on this platform.
在这里插入图片描述

原因: *.whl版本pip不支持。

1、执行命令 “python -m pip debug --verbose” 查看pip支持的文件名和版本。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

因为安装sqlalchemy的版本是cp312-cp312-manylinux_2_17_x86_64,目前pip不支持。

解决方案: 安装pip支持版本的安装包。

1、根据上面部分的Compatible tags支持版本,重新在下载网站中检索,下载包含第一条的版本即可:cp310-cp310-manylinux_2_17_x86_64。

在这里插入图片描述

2、执行命令“mv SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_x86_64.whl” 将文件名从 “SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl” 改成 “SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_x86_64.whl”,因为要和支持版本的名称一致。

在这里插入图片描述

3、执行命令“pip install SQLAlchemy-2.0.32-cp310-cp310-manylinux_2_17_x86_64.whl” 。

在这里插入图片描述

安装成功。

参考文章:
https://blog.csdn.net/sty945/article/details/105200436
https://blog.csdn.net/qq_16763983/article/details/118674124
https://www.cnblogs.com/yizhipanghu/p/14265663.html

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringBoot获取不到Nacos配置信息报错,Nacos鉴权
  • 基于Python的上市公司年报数字化词频统计:深入解析与实战
  • 倒计时:可添加可删除的倒计时函数
  • 从零开始手写STL库:Map
  • C++:list类(迭代器)
  • Spring SSM框架--MVC
  • [数据集][目标检测]手钳检测数据集VOC+YOLO格式141张1类别
  • 一:《Python基础语法汇总》— 数据类型与输入输出
  • sql总结
  • C++入门——21特殊的类
  • PostgreSQL下载、安装(Windows 10/11 64位)详细教程【超详细,保姆级教程!!!】
  • python——常见创建型设计模式
  • 仿RabbitMq实现简易消息队列正式篇(路由匹配篇)
  • BFS解决单源最短路问题
  • MySql 高阶二(SQL 性能分析)
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • cookie和session
  • js递归,无限分级树形折叠菜单
  • ReactNativeweexDeviceOne对比
  • 近期前端发展计划
  • 聊聊redis的数据结构的应用
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 数据科学 第 3 章 11 字符串处理
  • 物联网链路协议
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #include到底该写在哪
  • #Z2294. 打印树的直径
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (四)linux文件内容查看
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net 7 上传文件踩坑
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET成年了,然后呢?
  • @EventListener注解使用说明
  • @Transient注解
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [ARM]ldr 和 adr 伪指令的区别
  • [C#]C# winform部署yolov8目标检测的openvino模型
  • [CareerCup] 14.5 Object Reflection 对象反射
  • [CocosCreator]Android的增加AndroidX的动态权限
  • [hdu 1711] Number Sequence [kmp]
  • [JavaScript]如何讓IE9, IE8, IE7, IE6關閉視窗時不彈出對話訊息
  • [Linux系统编程] 静态库与动态库
  • [Meachines] [Easy] granny IIS 6.0+CVE-2017-7269+进程迁移+MS15-051权限提升
  • [MSSQL]GROUPING SETS,ROLLUP,CUBE初体验
  • [MySQL光速入门]003 留点作业...
  • [MySQL数据库部署及初始化相关]
  • [ndss 2023]确保联邦敏感主题分类免受中毒攻击