pyinstaller之使用混沌

        前段时间自学python基础语法和使用方法,跟着书本编了一个“外星人入侵”的基本小游戏,体验编程的快乐。然后,前天突然脑子抽风,想着用pyinstaller打包成exe文件,这样就可以炫一下。

        没有想到一进坑就难以自拔。。。

一、 工具:python3.6.4 64位 win8

二、使用历程

1、下载:这一步我是直接使用命令行pip install pyinstaller来进行的,比较简单方便。

2、 单个文件: 之前接触过一般使用pyinstaller -F < 文件名>

3、多个文件+图片:搞了很久。。。

刚开始运行时每次都有错误,能够生成exe,但是不能运行,还出现一闪而过的情况。

最后通过网上搜索以及尝试,发现可以先生成spec文件,对文件进行编辑,然后在使用pyinstaller生成exe文件

1) 生成spec文件,在命令行中输入pyi-makespec options name.py [other scripts ...]在cmd运行目录下会生成spec文件,我是放到需要打包的py文件目录下运行的。analysis中第一个列表类型,为需要打包的多个py文件,hiddenimports中放入引用的外部库。datas数组中放入需要的其他外部资源,我这里用到两幅图片,ship和alien,然后统一加入进去。注意:目录之前我用的相对路径,后来改成了绝对路径,我没有验证相对路径是否可以,按道理讲应该是可以的。(与py文件中路径一致才可) 

a = Analysis(['alien_invasion.py', 'button.py', 'scoreboard.py', 'game_functions.py', 'ship.py', 'game_stats.py', 'settings.py', 'alien.py', 'bullet.py'],
             pathex=['D:\\software_my_programming\\python\\pycharm\\alien_invasion'],
             binaries=[],
             datas=[],
             hiddenimports=['pygame', 'os', 'sys', 'time'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
a.datas += (('alien.bmp','D:\\software_my_programming\\python\\pycharm\\alien_invasion\\images\\alien.bmp','DATA'),
('ship.bmp','D:\\software_my_programming\\python\\pycharm\\alien_invasion\\images\\ship.bmp','DATA'))

2)在命令行中输入pyinstaller options name.spec生成exe文件,这里会生成几个文件夹,dist和build,exe文件在dist文件夹下,直接运行就可以了。(如果遇到不能运行的问题,在命令行中运行exe文件,会有一些可以参考的错误信息,注意将外部资源的 位置放置正确)

但是目前仍有问题无法解决,把exe文件移至桌面不能运行(窗口0.1s闪过。。。)

 有待抽空继续研究~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值