本文以飞机大战源码为例:

1.首先使用pyinstaller -w xxx.py打包   -w的意思是不显示命令行;飞机大战源码由多个.py文件以及一些图片,音乐文件组成,我们将main.py打包,

其他的py文件不需要打包,打包后会生成一个build和一个disk文件夹
disk文件夹里面就是可以直接启动的exe文件,然后把文件中用到的的音乐图片全部都拉到disk文件夹中,
直接点击exe文件就可以直接运行了,也可以直接发给其他人直接运行
要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,
不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。
用pyinstaller打包时候各个参数的意义:

-F  指定打包后只生成一个exe格式的文件

-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)

-c –console, –nowindowed 使用控制台,无界面(默认)

-w –windowed, –noconsole 使用窗口,无控制台

-p  添加搜索路径,让其找到对应的库。

-i  改变生成程序的icon图标
2.使用NSIS VNISEdit编译器(使用NSIS文件夹压缩器也可以也可以制作安装包)

文件夹压缩器:简单快捷、但是有点简陋

VNISEdit编译器:复杂但是功能强大

01:打开VNISEdit编译器,从文件中选择【新建脚本:向导】

02:进入NSIS脚本向导

03:点击下一步,填写程序基本信息

应用程序网址没有就不须填写

04:下一步->安装程序语言选择Simple Chinese简体中文

05:背景窗口可以不设置,如果要设置路径要自己根据情况重新填写

06:设置应用程序的目录的授权信息,没有则不填写

07:添加.py文件及程序所在的整个目录文件(删除已经默认存在的路径)

添加的是打包生成的main.exe文件路径以及打包生成的dist文件夹路径

08:设置图标信息

09:安装好程序后提示是否要运行的文件main.exe

10:设置卸载程序的相关信息

11.保存编译

12.编译成功

如果按照上述操作正常执行,确保打包后exe文件正常运行,仍出现一些错误中止创建过程,可能是一些路径设置不对,比如说05步骤里面的音乐路径,或者把错误那一行给删掉(本人感悟)

13.最后我们就可以得到一个setup.exe的可执行安装文件,运行安装即可

制作python程序windows安装包(飞机大战源码)的更多相关文章

  1. 使用NISI制作.Net程序服务安装包

    1.开篇之前先说一说NISI是什么. NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序.它提供了安装.卸载.系统设置 ...

  2. 小甲鱼python基础教程飞机大战源码及素材

    百度了半天小甲鱼python飞机大战的源码和素材,搜出一堆不知道是什么玩意儿的玩意儿. 最终还是自己对着视频一行行代码敲出来. 需要的同学点下面的链接自取. 下载

  3. android:“新版飞机大战”源码开源啦!

    今天10.24,为了纪念程序猿的节日,把之前写过的一个"飞机大战"的一个源码开源了. 源码地址:https://github.com/nuptboyzhb/newplanegame ...

  4. Windows安装包制作指南——Advanced Installer的使用

    1. 前言 最近需要制作windows的安装包,据说Advanced Installer比较强大,遂拿它来制作安装包.在网上少量资料以及官网简约文档中摸索前进,总算是制作出可用的安装包,在此记录,仅供 ...

  5. C# Note19: Windows安装包制作实践

    前言 最近在项目中需要不断更新新版本的software installer(软件安装包),于是便查阅资料,整理了下制作方法. NSIS安装包制作脚本 NSIS(Nullsoft Scriptable ...

  6. 解决octave for windows安装包无法通过SourceForge下载的问题

    近期SourceForge访问不了,可以通过访问SourceForge的ftp镜像ftp://sourceforge.nchc.org.tw/进行下载: ftp下载工具可以使用FileZilla,可在 ...

  7. ASP.NET程序读取二代身份证(附源码)

    原文:ASP.NET程序读取二代身份证(附源码) 一般来说winform应用程序解决这个问题起来时很容易的,web应用程序就麻烦一点了. 这里我说说我的解决思路: 一.你必要有联机型居民身份证阅读器一 ...

  8. Python机器学习经典实例电子版和附带源码

    Python机器学习经典实例电子版和附带源码 下载:https://pan.baidu.com/s/1m6ODNJk--PWHW8Vdsdjs-g 提取码:nyc0 分享更多python数据分析相关电 ...

  9. 射击的乐趣:WIN32诠释打飞机游戏源码补充

    打飞机游戏源码补充 从指定位置加载bmp并显示到对话框. , TRUE);, , LR_LOADFROMFILE);          {         BITMAP bmpinfo;        ...

随机推荐

  1. Spring系列之多个数据源配置

    前言 在上篇文章讲到了如何配置单数据源,但是在实际场景中,会有需要配置多个数据源的场景,比如说,我们在支付系统中,单笔操作(包含查询.插入.新增)中需要操作主库,在批量查询或者对账单查询等对实时性要求 ...

  2. BZOJ 4826 影魔

    本题可以采用主席树的在线做法,只不过常数会 \(super\) 大. 和其他题解差不多,我们先要求出第 \(i\) 个数的 \(l_i\) 和 \(r_i\) ,其中 \(l_i\) 表示左边第一个比 ...

  3. swiper在一个页面多个轮播图

    <script> var swiper = new Swiper('.swiper-container1', { spaceBetween: 30, centeredSlides: tru ...

  4. Linux md5sum校验文件完整性

    使用场景:  远程备份大文件,防止网络异常断开,文件备份不完整,使用md5校验其完整性. 1. 获取文件md5值 [root@kvm-123 gitlab]# md5sum 1564248991_20 ...

  5. js 遍历数组对象求和

    这个通常是求多个商品的总价遇到的情形: [ 0: {id: 1, name: "服务费", price: "1.00"} 1: {id: 2, name: &q ...

  6. 利用pycharm创建DjangoWeb项目

    1.打开pycharm开发工具:(开发服务器的搭建) File------->New Project-------->Django()

  7. C#根据输入的字符串来创建类的实例

    abstract class Vehicle { public abstract void Drive(); } class Car : Vehicle { public override void ...

  8. protected访问权限

    Java中protected方法访问权限的问题 protected 修饰的成员变量或方法,只能在同包或子类可访问; package 1 public class TestPackage { prote ...

  9. golang中的三个点 ‘...‘ 的用法

    '-' 其实是go的一种语法糖. 它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数. 第二个用法是slice可以被打散进行传递. 下面直接上例子: func test1( ...

  10. JS 之 每日一题 之 算法 ( 划分字母区间 )

    题目详解: 字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段.返回一个表示每个字符串片段的长度的列表. 例子: 示例 1: 输入:S = &quo ...