神码ai火车头标题伪原创【php源码】

这篇文章主要介绍了如何把python 代码打包成可执行软件,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

火车头采集ai伪原创插件截图:

Python 程序封装-打包成exe程序

    • 前言
    • 一、 Python 打包工具—Pyinstaller
    • 二、打包具体过程
      • 1. 打包成仅包含一个独立的exe程序
      • 2. 打包成包含文件夹的程序,内有相关的依赖库(推荐)
      • 3. 其他的打包命令
    • 三、注意事项

欢迎学习交流!
邮箱: z…@1…6.com
网站: Zengfu Hou - Home

前言

常用的软件都是带有操作界面的(Graphical User Interface,GUI),其目的就是在用户不需要看懂程序 底层代码的同时也可以进行软件相关功能的操作,更便于用户与程序的交互。随着Python逐渐成为一种流行编程工具的同时,程序打包也成为部分用户的需求,然而相关博客很少,而新手入门往往不得其所。其实很简单,下面笔者分享自己打包的过程,以供参考!

一、 Python 打包工具—Pyinstaller

PyInstaller 是一个可以将 Python 程序打包成一个独立可执行文件的软件包。它通过读取已经编写好的 Python 脚本,分析代码执行需要的模块和库,然后将其依赖库一同打包转成可以直接脱离于python环境下独立运行的程序,目前已经支持 在Windows、Linux 和 Mac OS 上运行。简单的理解就是,通过对程序脚本的打包(尤其是带有操作界面的程序),可以获得一个完整的软件。

下面笔者简单介绍一下window操作系统的打包命令和打包过程,具体如下:

  • 利用cmd命令进入python的安装路径,利用下面命令安装pyinstaller:
> cd D:\Program Files\Python37\Scripts   # 一般进入这个文件夹下进行安装就行
> pip install pyinstaller    # 打包工具安装命令

二、打包具体过程

下面是打包中常用命令,不同的命令之间可以进行组合,根据用户需求进行安排,具体命令如下:

-i 给应用程序添加图标
-F 只生成一个exe格式的文件
-D 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
-c 有黑窗口
-w 去掉黑窗口

1. 打包成仅包含一个独立的exe程序

程序打包具体过程:

  • 利用dos命令进入需要打包的程序文件夹下,下面是笔者的具体文件路径,具体操作命令如下:
> cd C:\Users\dream\Desktop\CSDN\ITAA_v1.0401.h.1  # 进入这个文件夹

在这里插入图片描述
如上图所示,在该需要打包的程序文件夹中,Main_ITAA.py就是我们程序的入口(在python中点击该程序就可以直接运行),下面我们将其打包成一个只有exe的可执行程序,具体命令如下:

pyinstaller -F -w -i logo.ico Main_ITAA.py

下面是打包命令执行后程序打包的编译过程,具体如下:
在这里插入图片描述
这时候我们会发现程序中多出来一个dist的文件夹,打包好的程序就放在这个文件夹下面,
在这里插入图片描述
下面我们看一下打包好的程序,点击就可以直接运行,其中图像的logo可以根据自己的需要自动设置。
在这里插入图片描述

2. 打包成包含文件夹的程序,内有相关的依赖库(推荐)

具体命令如下:

pyinstaller -D -c -i logo.ico Main_ITAA.py  # 有黑窗口,包含文件夹
pyinstaller -D -i logo.ico Main_ITAA.py  # 有黑窗口,包含文件夹(默认有黑窗口)

在这里插入图片描述
下面是打包完成的程序,一般该程序打包完成后,软件内部的我们自己建立的文件夹和python程序调用的程序需要放到打包好的程序文件下面才能运行,否则程序运行过程中容易出现错误,具体需要移动的文件及文件夹如下:

  • logo
  • help
  • data
  • models
  • svm-predict.exe
  • svm-scale.exe
    在这里插入图片描述
    下面就是打包完成后多出来的一个文件夹,打包程序在该文件夹下,上面的六个文件需要移动到该程序下
    在这里插入图片描述
    然后从中找到相关的程序Main_ITAA.exe应用程序,发送到桌面,就与我们常用程序没有什么区别了。
    在这里插入图片描述
    在这里插入图片描述
    点击运行效果如下:
    在这里插入图片描述
    程序完全运行,没有问题。

3. 其他的打包命令

下面是一些其他的打包程序,根据自己需要进行适当修改,具体如下:

  • 无黑窗口且程序带有logo的单独exe程序
pyinstaller -F -w -i logo.ico Main_ITAA.py
  • 有黑窗口且程序带有logo的单独exe程序
pyinstaller -F  -i logo.ico Main_ITAA.py
pyinstaller -F -c -i logo.ico Main_ITAA.py
  • 程序带有logo,生成程序包含文件夹(内有依赖库)
pyinstaller -D -i logo.ico Main_ITAA.py # 有黑窗口
pyinstaller -D -w -i logo.ico Main_ITAA.py  # 无黑窗口

三、注意事项

  • 最后可执行程序的图标必须是ico格式,否则无法显示出来;
  • 程序内部的logo不能是jpg格式(无法显示),要使用png格式(经测试,可以显示出来);
  • pyinstaller只能翻译python脚本,程序引用的其他程序或者相关文件在打包成一个exe程序时,往往会出现图标无法显示,相关文件无法加载错误,所有尽量打包成文件夹模式,方便后期外部文件的修改;
  • 如果程序出现黑框闪现情况,请使用保留黑窗的打包模式。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Apollo学习笔记】—— 相机仿真

文章目录 前言相关代码整理 测试实践文件目录包管理BUILD文件以及cyberfile.xml文件源程序BUILD运行结果其他参考CameraOutput channels启动camera驱动启动camera video compression驱动 前言 本文是对Cyber RT的学习记录,文章可能存在不严谨、不完善、有缺漏的部分&#xff0…

揭秘程序员最喜欢的5个高薪工作

大家好,这里是程序员晚枫。想了解更多精彩内容,快来关注程序员晚枫 今天给大家推荐5个适合程序员的高薪岗位。 01 推荐岗位 以下是5个工资最高的程序员工作: 数据科学家:数据科学家是负责数据收集、处理、分析和报告的专业人员。…

mssqlmysql数据库忽略大小写

一、mssql -- 创建数据时指定排序集Latin1_General_CI_AS CREATE DATABASE [数据库名] COLLATE Latin1_General_CI_AS 查询效果: 二、mysql

【数学】1、导论、数学归纳法与递归、分治

文章目录 一、数学归纳法与递归1.1 数学归纳法的过程1.2 递归1.2.1 本质就是数学归纳1.2.2 递归的场景1.2.2.1 编程实现数学归纳1.2.2.2 归并排序的分治思想1.2.2.3 分布式系统的分治思想 学习目标: 实用主义:为了解决工作日常的问题,而不是…

S7-200SMART与ET200SP远程IO模块进行PROFINET通信的具体方法

S7-200SMART与ET200SP远程IO模块进行PROFINET通信的具体方法 使用前提: 只有标准型且固件版本为V2.4及以上的S7-200 SMART CPU才支持 PROFINET 控制器功能。 S7-200 SMART 作 PROFINET 控制器最多可带8个 IO 设备(例如:远程 IO、阀岛、变频器、伺服和机器人等)。 本例中以 …

eclipse Java Editor Templates

​ Window - Preferences - Java - Editor - Templates ​ date ${currentDate:date(yyyy.MM.dd)}

九、pig安装

1.上传pig包 2.解压文件 3.改名 4.赋权 5.配置环境变量 export PIG_HOME/usr/local/pig export PATH$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$HBASE_HOME/bin:$SQOOP_HOME/bin:$PIG_HOME/bin 6.测试

如何在轻量级RTSP服务支持H.264扩展SEI发送接收自定义数据?

为什么开发轻量级RTSP服务? 开发轻量级RTSP服务的目的是为了解决在某些场景下用户或开发者需要单独部署RTSP或RTMP服务的问题。这种服务的优势主要有以下几点: 便利性:通过轻量级RTSP服务,用户无需配置单独的服务器,…

7种有效安全的网页抓取方法,如何避免被禁止?

网页抓取是一种从互联网上抓取网页内容的过程,但在网络抓取种相信您也经常遇到障碍?尤其是做跨境业务的,在抓取国外的网站时更有难度。但我们站在您的立场上,提供七种有效的方法来进行网页抓取而不被阻止,最大限度地降…

C语言每日一题:14《数据结构》复制带随机指针的链表

题目一: 题目链接: 思路一: 找相对位置暴力求解的方法: 1.复制一个新的链表出来遍历老的节点给新的节点赋值,random这个时候不去值。 2.两个链表同时遍历,遍历老链表的时候去寻找相对位置,在遍…

压力测试与测试工具jmeter的介绍

目录 一、性能指标 二、jmeter (一)JMeter 安装 (二)JMeter 压测示例 1、添加线程组 2、添加 HTTP 请求 3、添加监听器 4、启动压测&查看分析结果 (三)JMeter Address Already in use 错误解决 压力测…

c++11 标准模板(STL)(std::basic_ofstream)(四)

定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_ofstream : public std::basic_ostream<CharT, Traits> 类模板 basic_ofstream 实现文件上基于流的高层输出操作。它将 std::basic_ost…

HTML5 Canvas(画布)

<canvas>标签定义图形&#xff0c;比如图表和其他图像&#xff0c;你必须用脚本来绘制图形。 在画布上&#xff08; Canvas &#xff09;画一个共红色矩形&#xff0c;渐变矩形&#xff0c;彩色矩形&#xff0c;和一些彩色文字。 什么是 Canvas&#xff1f; HTML5<c…

亚马逊买家账号ip关联怎么处理

对于亚马逊买家账号&#xff0c;同样需要注意IP关联问题。在亚马逊的眼中&#xff0c;如果多个买家账号共享相同的IP地址&#xff0c;可能会被视为潜在的操纵、违规或滥用行为。这种情况可能导致账号受到限制或处罚。 处理亚马逊买家账号IP关联问题&#xff0c;建议采取以下步骤…

数学知识(三)

一、容斥原理 #include<iostream> #include<algorithm>using namespace std;const int N 20;typedef long long LL; int n,m; int p[N];int main() {cin>>n>>m;for(int i 0;i < m;i ) cin>>p[i];int res 0;//从1枚举到2^m(位运算)for(int …

burp suite 2023版 模块详解《一》

burp suite2023版 模块详解<一> Brup suite 仪表盘、目标、代理模块详解 dashboard&#xff08;仪表盘&#xff09;&#xff1a; Burp Suite的dashboard是一个总览视图&#xff0c;显示有关目标和代理的重要信息。我们可以在仪表板上查看最近操作的概要、目标的状态和代…

centos 7镜像(iso)下载图文教程(超详细)

声明&#xff1a;本教程为本人学习笔记&#xff0c;仅供参考 文章目录 前言一、阿里云镜像站下载centos 7 二、清华源下载centos 7小结 前言 声明&#xff1a;本教程为本人学习笔记&#xff0c;仅供参考 本教程将提供两种方式下载centos 7 系统镜像 1、阿里巴巴开源镜像站 2、…

关于视频汇聚融合EasyCVR平台多视频播放协议的概述

视频监控综合管理平台EasyCVR具备视频融合能力&#xff0c;平台基于云边端一体化架构&#xff0c;具有强大的数据接入、处理及分发能力&#xff0c;平台既具备传统安防视频监控的能力与服务&#xff0c;也支持AI智能检测技术的接入&#xff0c;可应用在多行业领域的智能化监管场…

4.PyCharm汉化

完成上一篇的安装之后&#xff0c;全英文的界面可能对一些英文不太好的小伙伴不太友好&#xff0c;本篇文章介绍Phcharm汉化教程&#xff1a; 点击菜单种的File-Setting 选择Marketplace在搜索框输入Chinese 点击安装 安装成功后会提示重新启动&#xff0c;点击Restart 安…

Invalidate简单分析

invalivade 流程 背景 最近在做Flutter的分层渲染分析&#xff0c;发现Flutter的分层渲染可以让节点标脏限制在同一个 Layer 中&#xff0c;从而提升性能。然后想到 Android 在更新 DisplayList 的时候会判断节点 dirty.isEmpty&#xff0c;从而决定是否更新DisplayList&#…