在学习python的过程中,在IDE编写完成py项目,运行成功想要封装成exe,方便分享给不同的人即使别人没有安装python也可以使用。

封装的过程中遇到一些问题,记录一下,方便自己和他人查阅。

以经典教材的alien_invasion为例。编写完成后,在IDE环境下可以正常运行,使用pyinstall工具封装成exe,在py文件目录下进入cmd,例如E:\Python\Alien_Game>pyinstaller -F -w alien_test.py

在生成中dist文件夹下可以找到生成的exe文件,把依赖文件放入到同一目录下,打开exe出现已停止工作的问题。经摸索发现是因为

self.font=pygame.font.SysFont("none",36)     中默认none的问题,将其改为:

self.font=pygame.font.SysFont("SimHei",36)       解决相关问题。SimHei字体还可正常显示中文字符,防止出现中文乱码的问题。

pyinstall指令参考https://msd.misuland.com/pd/3223833238703184482

查询过程中还发现几个常见问题,整理如下:

1.多文件打包    https://www.cnblogs.com/jackzz/p/9431923.html

2.PyQt5安装有问题,通过pip安装,在一开始封装的过程中,为了方便看到问题,可以采用E:\Python\Alien_Game>pyinstaller -F -c alien_test.py的方式,通过控制台看到错误提示方便定位。

3.有些时候封装import了其他模块,pyinstaller找不到,需要将依赖路径添加上去 ,在指令最后加上-p address

4.生成exe文件注意路径,尽量使用相对路径,而且需要注意依赖文件和exe的相对位置,方便在不同的环境下移植运行。

记录如上,方便你我。

python程序封装成exe流程的更多相关文章

  1. 将Python脚本封装成exe可执行文件 转

    将Python脚本封装成exe可执行文件 http://www.cnblogs.com/renzo/archive/2012/01/01/2309260.html  cx_freeze是用来将 Pyt ...

  2. python文件封装成*.exe

    python文件封装成*.exe文件(单文件和多文件) 环境:win10 64位 python3.7 原文: https://www.cnblogs.com/jackzz/p/9431923.html ...

  3. python + pyinstaller 实现将python程序打包成exe文件直接运行

    pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...

  4. 将 Python 程序打包成 .exe 文件

    1.简介 做了一个excel的风控模板,里面含有宏,我用python的第三方xlwings部署到linux后发现,linux环境并不支持xlwings. Python 程序都是脚本的方式,一般是在解析 ...

  5. 将Python 程序打包成 .exe格式入门

    PyInstaller PyInstaller 是一个十分有用的第三方库,可以用来打包 python 应用程序,打包完的程序就可以在没有安装 Python 解释器的机器上运行了. 它能够在 Windo ...

  6. python文件封装成*.exe文件(单文件和多文件)

    环境:win10 64位  python3.7 单*.py文件打包Python GUI:程序打包为exe 一.安装Pyinstaller,命令pip install Pyinstaller,(大写的P ...

  7. 如何将 Python 程序打包成 .exe 文件?

    有不少订阅本公众号的朋友都不是玩 Python,甚至都不是计算机相关专业的,当我给他们一个 Python 程序时,他们是完全不知道该怎么运行的. 于是我想是不是可以将我的程序打包成可执行文件,直接运行 ...

  8. python实战===python程序打包成exe

    推荐PyInstaller项目www.pyinstaller.org   安装方法: 先跑pip install pywin32再跑pip install pyinstaller即可 可用一句命令打包 ...

  9. 使用py2exe将python程序打包成exe程序

    近日帮朋友写了个python小程序,从互联网上抓取一些需要的文章到本地.为了运行方便,希望能转换成exe程序在windows下定期执行.从百度上找了些文章,发现py2exe的应用比较多,遂使用之. 1 ...

随机推荐

  1. Filter Lookup Editor Data Source 筛选器查找编辑器数据源

    In this lesson, you will learn how to filter the data displayed by a lookup editor. This editor is s ...

  2. 新学期教育教学小学家长会PPT模板推荐

    模版来源:http://ppt.dede58.com/jiaoxuekejian/26569.html

  3. C lang: The Command line

    Ax_command line h Ax_a command line describe The command line is in enviroment for DOS,to user opera ...

  4. Android框架式编程之Retrofit

    一.Retrofit 简介 Retrofit 官网地址: https://github.com/square/retrofit Retrofit(即Retrofit,目前最新版本为2.6.0版本),是 ...

  5. AWS云EC2(RHEL7)添加网络接口与路由调整

    AWS云EC2(RHEL7)添加网络接口与路由调整 Amazon Linux(类似RHEL6,Centos6) 以及 RHEL7 修改MAC地址的说明 RHEL7 Centos7 添加路由 解决RHE ...

  6. 【Kafka】《Kafka权威指南》——提交和偏移量

    KafkaConsumer(消费者)每次调用 poll()方法,它总是返回由生产者写入 Kafka但还没有被消费者读取过的记录, 我们因 此可以追踪到哪些记录是被群组里的哪个消费者读取的.之前已经讨论 ...

  7. Os-HackNos-Report

    实验主机:Os-hackerNos靶机一台/Kali linux攻击机一台 实验网络:桥接网络 实验目标:获取靶机的Root权限 难易程度:简单 前期工作: 1:下载Virtualbox虚拟化软件(也 ...

  8. opencv加载图片imread失败的原因

    用简单的imshow函数加载图片,报加载失败的异常,显示没有将图片加载到内存中.原因是在配置环境是同时将*lib与*d.lib都入了附加依赖项,而项目的生成方式选择的是debug,*lib在*d.li ...

  9. laravel 5.5.39 升级到 5.5.45 出现 cookie 序列化异常问题的解决

    把项目里的 laravel 5.5.39 升级到 5.5.45 后,出现如下报错: ErrorExceptionopenssl_encrypt() expects parameter 1 to be ...

  10. mybatis的mapper.xml中使用java类中的全局变量

    select * from demo where status = '${@cn.jichi.Global@zz}'