Python可执行文件的转换

 

 

当开发者向普通用户分享程序时,为了方便用户在未安装Python环境的情况 下能够正常运行,需要将开发好的程序进行打包,转换成用户可运行的文件类

型。本节将介绍在Windows和Linux两种系统下,将Python类型的文件转换成可执 行文件的方式。

PyInstaller是常见的执行文件打包工具。该工具的安装方式非常简单,可运行 在Windows 、MacOS X和GNU/Linux操作系统环境中,支持Python 2和Python 3两  种版本,并且在不同的操作系统环境中,PyInstaller工具的使用方法和选项相同。

需要注意的是,用PyInstaller打包的执行文件,只能在与执行打包操作的系统 类型相同的环境下运行。也就是说,这样的执行文件不具备可移植性,比如在

Windows系统下用PyInstaller生成的执行文件只能运行在Windows环境,在Linux系 统下生成的执行文件只能运行在Linux环境。

 

 

 

 

 

 

2.9.1    在Windows系统下转换

首先从官方网站(pyinstaller · PyPI)下载PyInstaller的安装  包,将下载好的PyInstaller压缩包文件进行解压。解压好的文件夹下包含setup.py 文件。可通过执行如下命令对PyInstaller进行安装:

 

>>> python setup .py install

安装PyInstaller的过程如下所示:

a8262c314a9b4a1d8b475dc3e44175d8.png

准备好要进行打包的Python文件和需要绑定的图标类型。需注意的是图标应 为.ico类型。将两个文件放到一个文件夹中,通过cmd窗口打开该文件夹所在路  径,执行如下命令进行打包操作:

>>> pyinstaller -F -i snail.ico ms08067 .py

执行效果如下所示:

 

 

 

 

 

0eeaf795385b43719ff5f91379121032.png

执行后的文件如图2-7所示。

2071d26e54354d2db1050b1d1907518e.png

图2-7    执行后的文件

生成的可执行文件ms08067.exe存储在dist文件夹中,通过cmd命令打开文件 所在路径,并运行ms08067.exe文件,运行结果如下所示:

87e7938cd35946d2bce03a3a656bc963.png

 

 

 

 

 

 

2.9.2    在Linux系统下转换

在Linux系统下安装PyInstaller的方式与Windows系统中相同,从官方网站下 载PyInstaller ,将下载好的PyInstaller压缩包文件解压,通过执行如下命令对

PyInstaller进行安装:

 

>>> python3 setup .py install

执行结果如下所示:

c877afc00fe04783a5d30b14cf151633.png

将要打包的Python文件放到一个文件夹中,执行如下命令进行打包操作:

aee7db4d70c345e5a0a260ab8cb18e44.png

>>> pyinstaller -F ms08067 .py

可执行文件转换的执行效果如下所示:

 

 

 

 

 

b9133437f7a94f189d3d20dfa17436ca.png

生成的可执行文件ms08067存储在dist文件夹中,运行命令终端打开文件所在 路径,并运行ms08067可执行文件,运行结果如下所示:

049eeeed5139435d9fbc1154f3d0430b.png

 

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

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

相关文章

kotlin $ (字符串模版)的使用

$ 在kotlin 中当做字符串模版使用,作用就是在字符串里面识别自己定义的字符 例如打印一个字符 这个时候编译就提示我们使用字符串模版的是个 $ 的作用就是识别字符串里面的i 字数有点少了,在写一个demo private fun String.appendArchive(): String …

云手机与实体手机的对比

在数字化时代,云手机作为一种虚拟手机在云端服务器上运行,与传统的实体手机相比存在诸多差异。让我们深入探讨云手机与实体手机之间的区别,以便更好地了解它们的特点和优势。 外观上的差异 实体手机具有实际的外观和重量,占据一定…

编译安装Nginx和使用五种算法实现Nginx反向代理负载均衡

目录 Ubuntu中安装Nginx 概念介绍 负载均衡 几种负载均衡算法 反向代理 环境规划 配置反向代理 加权负载均衡(Weighted Load Balancing) 轮询(Round Robin) IP 哈希(IP Hash) 最少连接&#xff…

多维时序 | Matlab实现EVO-TCN-Multihead-Attention能量谷算法优化时间卷积网络结合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现EVO-TCN-Multihead-Attention能量谷算法优化时间卷积网络结合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现EVO-TCN-Multihead-Attention能量谷算法优化时间卷积网络结合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计参考资…

Spring5系列学习文章分享---第四篇(JdbcTemplate+概念配置+增删改查数据+批量操作 )

目录 JdbcTemplateJdbcTemplate(概念和准备)JdbcTemplate 操作数据库(新增update)JdbcTemplate 操作数据库(修改和删除update)JdbcTemplate 操作数据库(查询返回某个值queryForObject&#xff0…

shopee的AI学习之路——GPTs通过AdInteli 广告变现

GPTs|AdInteli 广告变现 一、什么是 AdInteli AdIntelli 是一个旨在为生成 GPTs 接入广告并实现变现的平台。它连接了全球最大的广告联盟,允许广告商进行竞价,确保展示最有价值的广告。AdIntelli 采用 AI 驱动的收入生成技术,优化广告选择。…

《游戏-03_3D-开发》之—新输入系统人物移动攻击连击

本次修改unity的新输入输出系统。本次修改unity需要重启,请先保存项目, 点击加号起名为MyCtrl, 点击加号设置为一轴的, 继续设置W键, 保存 生成自动脚本, 修改MyPlayer代码: using UnityEngine;…

华为产业链之车载激光雷达

一、智能汽车 NOA 加快普及,L3 上路利好智能感知硬件 1、感知层是 ADAS 最重要的一环 先进驾驶辅助系统 (ADAS, Advanced driver-assistance system)分“感知层、决策层、执行层”三个层级,其中感知层是最重要的一环…

vue创建前端项目

背景 项目中需要用到前端技术,通过技术调研和团队分析,则采用vue作为前端主要技术栈。 问题 安装好后vue,按理说就可以创建vue项目 vue init webpack 项目名称 npm install,使用vue-cli脚手架搭建项目卡在sill idealTree buil…

C#hybridCLR热更新方案初探

前言 暂时处于初步研究状态,目前的框架使用还是尚少,本篇文章旨在同步给大家大概的使用流程和使用心得,在初步建立新项目时可以适当考虑。 介绍 热更新 与强制更新相对应,移动平台上App的可执行程序没有发生变化,仅…

[Go]认识Beego框架

对比Gin的简洁,自己之前基于Gin撸了一个架子,确实比beego目录看着舒服多了,不过最近接触到beego的项目,beego的bee工具使用还是很方便,来简单梳理下细节; Beego是一个开源的Go语言Web应用框架,…

摄像机视角的切换_unity基础开发教程

摄像机视角的切换 前言一、场景搭建二、脚本编辑三、脚本挂载四、运行效果结语 前言 我们在游戏中经常可以看到游戏视角的切换,今天我们就做一个视角切换的小demo,学会之后可以将其融入到自己的游戏制作当中。 话不多说,我们现在开始&#xf…

eNSP学习——理解交换机Hybird接口的应用

目录 原理概述 实验内容 实验目的 实验步骤 实验拓扑 实验编址 实验步骤 基本配置(此处仅以PC1为例) 实现组内通信、组间间隔 实现网络管理员对所有网络的访问 原理概述 Hybrid接口既可以连接普通终端的接入链路又可以连接交换机间的干道…

Word中插入公式并引用

1、如何插入公式 在word中,键入快捷键 “alt” + “=”,即可快速插入一个公式,并立即编辑。 2、利用表格框住公式 新建一个 1 行 3 列的表格,总宽度为页面宽度,第一个单元格和最后一个单元格都保持在 2.25cm,中间尽可能长。我设置的这个数值比较合理。 记住,要把表格…

初识人工智能,一文读懂机器学习之逻辑回归知识文集(4)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

使用Linux SDK客户端向AWS Iot发送数据

参考链接: https://ap-southeast-1.console.aws.amazon.com/iot/home?regionap-southeast-1#/test 此篇文章用于测试,使用Linux SDK客户端向AWS Iot发送数据,准备环境如下: 1、客户端环境准备 1.1 客户端操作系统 虚拟机一台…

ifconfig 主机ip url记录

ifconfig 容器Pods相关主机与url信息 一文搞懂网络知识,IP、子网掩码、网关、DNS、端口号_关于ip,网关。端口-CSDN博客 计算机网络知识之URL、IP、子网掩码、端口号_ip地址和url-CSDN博客 阅读看下以上文章 由此可知 1.主机ip 10.129.22.124 10.129.22 是网段…

【AIGC】Diffusers:扩散模型的开发手册说明1

主要组件 最先进的扩散管道 diffusion pipelines,只需几行代码即可进行推理。可交替使用的各种噪声调度器 noise schedulers,用于平衡生成速度和质量。预训练模型 models,可作为构建模块,并与调度程序结合使用,来创建…

通过Android Logcat分析firebase崩溃

参考:UnityIL2CPP包Crash闪退利用Android Logcat还原符号表堆栈日志 - 简书 一、安装Android Logcat插件 1、新建空白unity工程,打开PackageManager窗口,菜单栏Window/PackageManager 2、PackageManager中安装Android Logcat日志工具 3、安…

谷歌邮箱即将推出“助我撰写”人工智能语音功能

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…