pyinstaller打包记录|| 打包成功,含xgboost打包遇到的问题

news2024/11/28 4:42:28

文章目录

  • 1 requirements.txt
  • 2 项目介绍
  • 3 matplotlib的问题
  • 4 xgboost打包遇到的问题
    • 4.1 解决办法:
  • 5 总结流程
    • 5.1 打开命令行
    • 5.2 键入打包指令
    • 5.3 执行文件
    • 5.4 双击exe运行

1 requirements.txt

python==3.6.15

tensorflow-cpu==2.2.0
netCDF4==1.5.6
Keras==2.3.1
pandas==1.0.3
pyinstaller==4.7
joblib==1.1.0
bottle==0.12.19
scikit-learn==0.21.3
matplotlib==3.2.1

2 项目介绍

现在我的代码名:xgboost_model.py
只需要打包这一个py文件,但是需要import xgboost,这是打包的难点。

3 matplotlib的问题

修改一下依赖包的一个文件,下面是参考博客。

https://blog.csdn.net/weixin_43054437/article/details/124043603

4 xgboost打包遇到的问题

因为代码里面import了xgboost的依赖包,但是在打包的时候打不进去,xgboost.dll 文件找不到。

  • 报错情况如下:
    在这里插入图片描述
    【缺少xgboost.dll】

4.1 解决办法:

(1) 修改指令:pyinstaller -D xgboost_model.py --add-data=xgboost;xgboost

(2) 在xgboost_model的同级目录下把xgboost的依赖包(从本地环境里面)整体拷贝进去。
我自己电脑上的地址:C:\Users\13004\anaconda3\envs\zjj36\Lib\site-packages\xgboost

(3) 等到生成了exe文件之后,吧xgboost的依赖包再复制一份到exe的同级目录下
在这里插入图片描述
(4) 复制好了之后,再点exe文件执行就OK了。

5 总结流程

5.1 打开命令行

首先进入到代码py所在目录。

把xgboost的包一整个都拷贝进来。
【xgboost==1.5.2】
去自己的电脑的虚拟环境里面找依赖包,我自己的目录是:C:\Users\13004\anaconda3\envs\zjj36\Lib\site-packages\xgboost

在地址栏敲cmd进入命令行。

在这里插入图片描述

5.2 键入打包指令

虽然我只是一个py文件,但是用-D的效果会比-F 好很多,省去很多麻烦,就直接-D了。

也建议用-F试试。

pyinstalller -D svm.py --add-data=xgboost;xgboost

在这里插入图片描述

然后会生成一个build文件夹,dist文件夹,和svm.spec。

5.3 执行文件

进入dist文件夹。

进入两级目录。

找到exe文件,这里会比用-F的方式生成更多的文件。都不用管。

在这里插入图片描述
在exe的同级目录下,也就是此目录下添加xgboost 文件夹,跟刚刚是一个文件夹。

在这里插入图片描述

5.4 双击exe运行

如果闪退,可以试试在exe文件夹内,按住shift+鼠标右击

打开powerdshell。

然后输入.\xgboost_model.exe,也就是.\ + [exe文件]

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

盘点 | 云原生峰会重磅发布

11 月 5 日,2022 杭州云栖大会上,阿里巴巴研究员、阿里云智能云原生应用平台总经理丁宇在云原生峰会上发表主题演讲,提出云原生激活应用构建新范式。在分享中发布阿里云在云原生领域多款新产品与全新升级,持续引领行业云原生技术趋…

交通大数据应用场景——高速落地检

自11月11日进一步优化疫情防控二十条措施发布以来,国内各地针对核酸检测、人员管控等防控重点领域,陆续出台相关调整政策,进一步提高疫情防控的科学性、精准性、有效性。 “躺平”不可取,“躺赢”不可能,优化疫情防控…

【云原生 | Kubernetes 系列】--Gitops持续交付 ArgoCD自动同步策略

1. ArgoCD自动同步策略 自动同步策略允许ArgoCD在检测到GitRepo与实际状态之间存在差异时,自动启动同步操作. Prune Resource(自动修剪):在集群上某个资源在GitRepo中找不到对应的配置时,自动删除集群上的该资源 Self Heal(自愈): 因各种原因(如手动修改)集群上资源的实时状态…

艾美捷nickases-Cas9内切酶裂解试验展示

核酸内切酶(endonuclease)在核酸水解酶中,为可水解分子链内部磷酸二酯键生成寡核苷酸的酶,与核酸外切酶相对应。从对底物的特异性来看,可分为DNaseⅠ、DNaseⅡ等分解DNA的酶;RNase、RNaseT1等分解RNA的酶。…

ETF轮动+RSRS择时,加上卡曼滤波:年化48.41%,夏普比1.89

原创文章第112篇,专注“个人成长与财富自由、世界运作的逻辑, AI量化投资”。 昨天我们设计了一个不错的策略:etf动量轮动大盘择时:年化30%的策略。ETF动量轮动RSRS择时,动量其实一直都有效,如何定义动量可…

java图形验证码到底是怎么生成的?

真正的大师,永远都怀着一颗学徒的心! 一、项目简介 java图形验证码到底是怎么生成的?支持中文、gif、算术等类型 二、实现功能 支持gradle方式的引入 支持maven方式引入 支持jar包下载 支持10种漂亮的内置字体,不依赖系统字体 支持输出…

Codeforces Round #835 (Div. 4) A~G

比赛链接&#xff1a;https://codeforces.com/contest/1760 A. Medium Number 题目大意&#xff1a; t组测试&#xff0c;每组给三个数求中位数。 代码&#xff1a; #include<bits/stdc.h> #define rep(i,a,b) for (register int ia;i<b;i) #define per(i,a,b) …

无人驾驶(二)---室外导航之RTK配置与接入及GPS与UTM坐标转换

1. RTK 概述 RTK 载波相位差分技术&#xff0c;是实时处理两个测量站载波相位观测量的差分方法&#xff0c;将基准站采集的载波相位发给用户接收机&#xff0c;进行求差解算坐标。一般包含流动站 (移动站) 和基准站 (基站) 。本文中RTK定位采用千寻定位&#xff0c; 参考的也是…

39Java System类

目录 System类 1.定义 2.预备知识 3.常用方法 (1).currentTimeMillis返回系统时间 (2).exit终止虚拟机 (3).arraycopy拷贝数组 System类 1.定义 Java System类是一个提供与系统相关的方法 System类所在包为java.lang包&#xff0c;因此在使用的时候不需要进行导包。并且Sy…

外汇天眼:FCA 已向交易应用程序运营商发出警告,要求其停止交易游戏化

英国市场监管机构希望交易应用程序开发商重新考虑关键设计元素。 根据新的研究&#xff0c;游戏化可能会导致类似赌博的行为。 负责监管英国金融市场的金融行为监管局 ( FCA )周一发布了有关交易应用程序设计的市场警告。金融业监管机构担心零售交易越来越像一场游戏&#xff…

A. Row GCD(更相减损术+gcd的性质)

Problem - 1458A - Codeforces 给你两个正整数序列a1,...,an和b1,...,bm。对于每个j1,...,m&#xff0c;求a1bj,...,anbj的最大公除数。 输入 第一行包含两个整数n和m&#xff08;1≤n&#xff0c;m≤2⋅105&#xff09;。 第二行包含n个整数a1,...,an&#xff08;1≤ai≤101…

Linux学习记录——이 基本指令(2)

接着上一篇继续写指令。 man指令 man指令是一个手册功能的指令&#xff0c;可以查看系统内的接口&#xff0c;指令等等&#xff0c;也可以查看一个指令有什么用法。如果是需要查看C语言中的指令&#xff0c;比如printf&#xff0c;就可以man 3 printf。不过man大多数情况是用…

旋转数组的最小数字、二维数组中的查找、调整数组顺序使奇数位于偶数前面

文章目录1、 旋转数组的最小数字2、调整数组顺序使奇数位于偶数前面3、二维数组中的查找1、 旋转数组的最小数字 本题考点&#xff1a;核心考点&#xff1a;数组理解&#xff0c;二分查找&#xff0c;临界条件 牛客链接 题目描述&#xff1a; 有一个长度为 n 的非降序数组&am…

简述Spring Bean生命周期

前言 在Spring容器里&#xff0c;Bean的完整生命周期比较长。但是我们必须要掌握它。 Bean周期总览 Bean周期总体如下所示。 接下来会简单讲下各个步骤的主要功能。 Bean实例化 必须步骤。 此步骤主要是实例化一个Bean&#xff0c;例如new一个对象。这个步骤主要是设置be…

运动无线耳机什么牌子好?六款实用性不错的运动耳机推荐

跑步的过程如果没有音乐真的很难继续跑下去&#xff0c;当然&#xff0c;有了音乐的加入&#xff0c;运动过程也变得更加有动力&#xff0c;烦恼的心情也会随着烟消云散。一款好的运动耳机能让我们运动变得更加轻松&#xff0c;什么运动耳机值得大家入手&#xff1f;今天我就来…

计算机毕业设计java+ssm舞蹈管理系统(源码+系统+mysql数据库+Lw文档)

项目介绍 舞蹈管理系统是使用JAVA的SSM技术&#xff0c;MySQL作为数据库开发&#xff0c;用户通过查看舞蹈信息&#xff0c;在线预约课程&#xff0c;实现舞蹈管理。首先对本论文进行分析后&#xff0c;提出平台的相关技术&#xff0c;然后整理系统的需求分析&#xff0c;根据…

_c++11( lambda)

lambda表达式1 C98中的一个例子2 lambda表达式3 lambda表达式语法4 函数对象与lambda表达式1 C98中的一个例子 在C98中&#xff0c;如果想要对一个数据集合中的元素进行排序&#xff0c;可以使用std::sort方法。 #include <algorithm> #include <functional> voi…

[附源码]计算机毕业设计JAVA教师业绩考核系统

[附源码]计算机毕业设计JAVA教师业绩考核系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybati…

Sharding-JDBC 基础

Sharding-JDBC 是当当网开源的适用于微服务的分布式数据访问基础类库&#xff0c;完整的实现了分库分表&#xff0c;读写分离和分布式主键功能&#xff0c;并初步实现了柔性事务。 从 2016 年开源至今&#xff0c;在经历了整体架构的数次精炼以及稳定性打磨后&#xff0c;如今…

AQS源码解析 3.lock() unlock() 加锁解锁过程

AQS源码解析 3.lock() & unlock() 加锁解锁过程 Lock() 过程 这里使用 ReentrantLock 的公平锁去看 AQS 的加锁过程。在 ReentrantLock 的实现中&#xff0c;其默认构造的锁是非公平锁。 详细流程图 尝试获取锁 构造节点入队过程 在队列中被挂起 被唤醒重新抢锁的过…