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

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. Git在IDEA中的日常使用

    1.Git介绍Git对于做开发的小伙伴并不陌生,Git是现在比较流行的版本控制工具.Git的仓库分为本地仓库和远程仓库,当代码开发完成后,先提交(commit)到本地仓库,再推送(push)到远程仓库 ...

  2. COM笔记-CoCreateInstance

    CoCreateInstance 创建组件的最简单的方法是使用CoCreateInstance函数. 在COM库中包含一个用于创建组件的名为CoCreateInstance的函数.此函数需要一个CLS ...

  3. 获取sim 卡的IMEI 和 IMSI

    IReadOnlyList<string> networkAccIds = Windows.Networking.NetworkOperators.MobileBroadbandAccou ...

  4. C++类构造函数、拷贝构造函数、复制构造函数、复制构造函数、构造函数显示调用和隐式调用

    一. 构造函数是干什么的   class Counter   {   public:            // 类Counter的构造函数            // 特点:以类名作为函数名,无返回 ...

  5. Json 文件 : 出现 Expected value at 1:0 问题的解决

    只要找一个json在线解析,验证你的json文件格式的正确性,错误可以忽略. 如要消除红叉,关闭Json Validation即可,如下操作:

  6. spring框架学习日志一

    一.简介 1.对spring框架的简单理解 可以理解为它是一个管理对象的创建.依赖.销毁的容器 Spring 是一个开源框架. Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单 ...

  7. 初识cookie

    package day01.cookies; import java.io.IOException; import java.net.URLDecoder; import java.net.URLEn ...

  8. 关于SequenceInputStream

    两个流合并时: package stream.sequence; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...

  9. Go版本依赖--版本选择机制

    目录 1. 版本选择机制 2.依赖包版本约定 2.1 Go module 之前版本兼容性 2.2 Go module 之后版本兼容性 3. 版本选择机制 3.1 最新版本选择 3.2 最小版本选择 1 ...

  10. 小程序生成商品分享二维码海报解决方案和实现方式JAVA

    使用技术:  Graphics , 七牛云 , 微信sdk(github上非常出名的wxjava,地址https://github.com/Wechat-Group/WxJava/)直接上干货代码,每 ...