python内网环境安装第三方包
文章目录
- 一、问题
- 二、解决方法
- 三、代码实现
一、问题
内网安装第三方包的应用场景,一般是一些需要在没网的环境下进行开发的情况。这些环境一般仅支持本地局域网访问,所以只能在不下载任何第三方包的情况下艰难开发。
二、解决方法
将当前应用依赖的第三方包提前下载到本地,拷贝到单机环境下安装,但是不能一个个下载安装,那样效率很低,具体参考以下代码,如有更好的办法希望大佬指点。
三、代码实现
import os
import timedef download_env_package(package_dir):'''下载当前虚拟环境已安装的第三方包的whl到本地:return:'''requirmenets_local_path = f'./requirements_local__{time.time()}.txt'if not os.path.exists(package_dir): os.mkdir(package_dir)# 将虚拟环境的包信息打印到 requirements.txt 中cmd_freeze = f'pip freeze > {requirmenets_local_path}'os.system(cmd_freeze)time.sleep(2)# 下载 requirements.txt 中的第三方包到本地cmd_download = f'pip download -r {requirmenets_local_path} -d {package_dir}'print(cmd_download)os.system(cmd_download)# 删除缓存的安装包文件os.remove(requirmenets_local_path)def install_local_packages(package_dir):'''安装本地第三方包:return:'''package_path_list = [os.path.join(package_dir, name) for name in os.listdir(package_dir)]print('---------------------安装列表---------------------')for pc in package_path_list:print(pc)print('---------------------安装列表---------------------')# cmd_env_list = 'v'cmd_install_list = "pip install".split(' ')for idx, pc in enumerate(package_path_list):# print(f'当前进度: {idx+1} / {len(package_path_list)}')cmd_install_list.append(pc)os.system(' '.join(cmd_install_list))if __name__ == '__main__':# 指定第三方包whl文件的存放目录package_dir = '../package_cache'# 下载# 此方法在有网的地方执行# 将当前虚拟环境下依赖的第三方包whl文件下载到指定目录download_env_package(package_dir)# 下载后将此脚本和下载好的第三方包目录一并复制到没网的机器上执行安装方法 # 安装# 此方法在没网的地方执行# 将指定目录下的whl文件安装到当前虚拟环境install_local_packages(package_dir)
相关文章:
python内网环境安装第三方包
文章目录 一、问题二、解决方法三、代码实现 一、问题 内网安装第三方包的应用场景,一般是一些需要在没网的环境下进行开发的情况。这些环境一般仅支持本地局域网访问,所以只能在不下载任何第三方包的情况下艰难开发。 二、解决方法 将当前应用依赖的第…...
javaScipt
javaScipt 一、JavaScript简介二、javaScript基础1、输入输出语法2、变量3、常量4、数据类型4.1、数字型 number4.2、字符串类型 string4.3、布尔类型 boolean4.4、未定义类型 undefined4.5、null 空类型4.6、typeof 检测变量数据类型 5、数据类型转换5.1、隐式转换5.2、显示转…...
Linux(实操篇三)
Linux实操篇 Linux(实操篇三)1. 常用基本命令1.7 搜索查找类1.7.1 find查找文件或目录1.7.2 locate快速定位文件路径1.7.3 grep过滤查找及"|"管道符 1.8 压缩和解压类1.8.1 gzip/gunzip压缩1.8.2 zip/unzip压缩1.8.3 tar打包 1.9 磁盘查看和分区类1.9.1 du查看文件和…...
数学之美 — 1
为什么你会想和他人共享那些美丽的事物呢?因为这会让他(她)感到愉悦,也能让你在分享的过程中重新欣赏一次事物的美。 ——David Blackwell 1、感官之美,对于那些有规律的事物,你可以利用自己的视觉、触觉、…...
python中的global关键字
在Python中,global关键字用于在函数内部声明一个全局变量。默认情况下,函数内部的变量是局部变量,只能在函数内部访问。使用global关键字可以在函数内部创建或修改全局变量,使其在函数外部也可见和修改。 以下是使用global关键字…...
Matlab图像处理-幂次变换
幂次变换 如下图所示的幂次变换函数曲线图: 当γ <1时,效果和对数变换相似,放大暗处细节,压缩亮处细节,随着数值减少,效果越强。 当γ >1时,放大亮处细节,压缩暗处细节&…...
浏览器输入 URL 地址,访问主页的过程
分析&回答 浏览器解析域名;TCP建立连接;浏览器向服务器发送HTTP请求;服务器解析请求并返回HTTP报文;浏览器解析并渲染页面;断开连接。 反思&扩展 域名解析的流程 查找浏览器缓存——我们日常浏览网站时&am…...
每日一学————基本配置和管理
一、交换机的基本配置 配置enable口令、密码和主机名 Switch> (用户执行模式提示符) Switch>enable (进入特权模式) Switch# …...
解决 filezilla 连接服务器失败问题
问题描述: 开始一直用的 XFTP 后来,它变成收费软件了,所以使用filezilla 代替 XFTP 之前用的还好好的,今天突然就报错了:按要求输入相关字段,连接 连接失败!!!o(╥﹏╥…...
如何使用Java进行机器学习?
在Java中进行机器学习,可以使用各种开源机器学习库和框架来实现。以下是一些常用的Java机器学习库: Weka:Weka 是一个非常流行的机器学习库,提供了大量的算法和工具,以及用于数据预处理、特征选择和可视化的功能。 De…...
springsecurity+oauth 分布式认证授权笔记总结12
一 springsecurity实现权限认证的笔记 1.1 springsecurity的作用 springsecurity两大核心功能是认证和授权,通过usernamepasswordAuthenticationFilter进行认证;通过filtersecurityintercepter进行授权。springsecurity其实多个filter过滤链进行过滤。…...
如何在职业生涯中取得成功
工作中让你有强烈情绪波动的事情 在我的工作经历中,有一次让我经历了强烈情绪波动的事件。我曾在一个高压的项目团队中工作,我们需要在极短的时间内完成一个复杂的客户项目。这个项目的截止日期非常紧迫,而项目的规模和要求也一直在不断增加…...
Hive-安装与配置(1)
🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇 个人主页:beixi 本文章收录于专栏(点击传送):【大数据学习】 💓💓持续更新中,感谢各位前辈朋友们支持…...
链表模拟栈
定义节点 class Node {var num: Int _var next: Node _def this(num: Int) {thisthis.num num}override def toString: String s"num[${this.num}]" }定义方法 class LinkStack {private var head new Node(0)def getHead: Node head//判断是否为空def isEmp…...
MySQL基础篇:数据库概述和部署
SQL 概述 SQL,一般发音为sequel,SQL的全称Structured Query Language),SQL用来和数据库打交道,完成和数据库的通信,SQL是一套标准。但是每一个数据库都有自己的特性别的数据库没有,当使用这个数据库特性相关的功能,这…...
大数据面试题:MapReduce压缩方式
面试题来源: 《大数据面试题 V4.0》 大数据面试题V3.0,523道题,679页,46w字 可回答:1)Hadoop常见的压缩算法有哪些? 问过的一些公司:网易云音乐(2022.11),阿里(2020.…...
【ICer的脚本练习】“精通各种语言的hello world!“
系列的目录说明请见:ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客 前言 这一节呢主要是检查一下Linux和win环境是不是能正常的支持咱们的脚本学习,所以来答应各种语言的hello world!,毕竟打印了就是学会了٩(๑❛ᴗ❛๑)۶…...
解决npm install报错: No module named gyp
今天运行一个以前vue项目,启动时报错如下: ERROR Failed to compile with 1 error上午10:19:33 error in ./src/App.vue?vue&typestyle&index0&langscss& Syntax Error: Error: Missing binding D:\javacode\Springboot-MiMall-RSA\V…...
Leetcode 面试题 17.01 不用加号的加法
设计一个函数把两个数字相加。不得使用 或者其他算术运算符。 示例: 输入: a 1, b 1 输出: 2 提示: a, b 均可能是负数或 0结果不会溢出 32 位整数 我的答案: 一、信息 1.设计一个函数把两个数相加 2.不得使用或者其他运算符 3.a,b均为负数或…...
一个 MySQL 数据库死锁的案例和解决方案
本文介绍了一个 MySQL 数据库死锁的案例和解决方案。 场景 生产环境出了一个偶现的数据库死锁问题,导致少部分业务处理失败。 分析特征之后,发现是多个线程并发执行同一个方法,更新关联的数据时可能会出现,把场景简化概括一下&…...
Ubuntu虚拟机磁盘空间耗尽导致MySQL启动失败的系统恢复与预防指南
1. 问题现象与核心原因剖析最近在折腾Ubuntu虚拟机时,遇到了一个挺典型的开机故障:系统启动时卡住,屏幕上赫然显示着“Failed to start MySQL Community Server”的错误信息,紧接着系统就停滞不前,无法进入图形界面。这…...
5步快速上手!罗技鼠标宏终极压枪教程:告别手残轻松吃鸡
5步快速上手!罗技鼠标宏终极压枪教程:告别手残轻松吃鸡 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求生…...
10分钟带你完成:Claude Code CC Switch 接入DeepSeek-V4
文章目录概要环境要求整体流程概要 本项目在 Windows 环境下,如何让强大的 AI 编程助手 Claude Code 成功“变身”,接入国产顶尖大模型 DeepSeek-V4。通过利用 DeepSeek 的 API 兼容性,不仅保留了 Claude Code 极致的终端交互体验…...
ThinkPad双风扇终极控制指南:TPFanCtrl2让你的笔记本既静音又高效
ThinkPad双风扇终极控制指南:TPFanCtrl2让你的笔记本既静音又高效 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 你是否曾因ThinkPad风扇的持续噪音而分心…...
跨越物种与时空:TO-GCN方法在植物发育与光合作用调控网络解析中的创新实践
1. TO-GCN方法:突破传统共表达网络分析的时空局限 在植物生物学研究中,基因共表达网络分析一直是揭示复杂调控机制的重要工具。传统方法如WGCNA(加权基因共表达网络分析)虽然应用广泛,但在处理跨物种、跨条件或跨组织的…...
PotPlayer百度翻译插件终极指南:免费实现20+语言实时字幕翻译
PotPlayer百度翻译插件终极指南:免费实现20语言实时字幕翻译 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu PotPlayer字幕…...
此生必去的8个地方,去过5个算旅行达人,全去过的人生无憾!
中国最美的浪漫,一半藏在新疆!🏔️整理8个新疆封神级宝藏点位,湖泊、草原、村落、峡谷全覆盖,景色干净纯粹不商业化。去过5个算是资深旅行党,全部打卡完,真的此生无憾✅收藏这篇!下次…...
Spike Prime避坑指南:Python控制电机和传感器时,新手最常遇到的5个错误及解决方法
Spike Prime避坑指南:Python控制电机和传感器时新手最常遇到的5个错误 第一次用Python控制Spike Prime的电机和传感器时,那种期待和兴奋很快就会被各种报错消磨殆尽。明明照着官方文档写的代码,电机就是不转;传感器读数永远为零&a…...
别只傻等候补了!用Bypass分流抢票监控12306“捡漏”全攻略(含微信通知设置)
别只傻等候补了!用Bypass分流抢票监控12306"捡漏"全攻略(含微信通知设置) 春节临近,当你在12306官网上看到心仪车次显示"候补"或"无票"时,是否已经放弃希望?其实,…...
企业级AI应用在虚拟机集群的部署,如何借助Taotoken统一API网关
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业级AI应用在虚拟机集群的部署,如何借助Taotoken统一API网关 在构建企业内部的AI应用时,一个常见的架构是…...
