详解Python3.6的py文件打包生成exe

yipeiwu_com5年前Python基础

原文提到的要点:

1. Python版本32位 (文件名为 python-3.6.1.exe)

2. 安装所有用到的模块(原文博主用的是openpyxl,我用到的有urllib中的request\config\data)

3. 下载替换pyinstaller(下载pyinstaller-develop.zip,复制其中的Pyinstaller文件夹)

4. 在控制台生成exe

操作过程记录如下:

C:\Python\Scripts>pip install request
C:\Python\Scripts>pip install config
C:\Python\Scripts>pip install data
C:\Python\Scripts>pyinstaller.exe -F structs2.py

生成成功界面内容:

24957 INFO: checking EXE
24957 INFO: Building EXE because out00-EXE.toc is non existent
24957 INFO: Building EXE from out00-EXE.toc
24958 INFO: Appending archive to EXE C:\Python\Scripts\dist\structs2.exe
24975 INFO: Building EXE from out00-EXE.toc completed successfully.

之前失败了很多次,Python 3 转 exe 失败原因总结:

1. Python开发环境版本、环境变量不一致。之前错误的安装了(python-3.6.2rc1.exe)

2. 注意版本,之前尝试了多个版本,最后全部卸掉重新安装才成功

3. Python包要安装全,之前我没有装request \config等包,也可能是失败原因之一

曾有失败,内容如下:

usage: setup.exe [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.exe --help [cmd1 cmd2 ...]
or: setup.exe --help-commands
or: setup.exe cmd --help

解决方法是重新清理安装开发环境。终于成功。

相关文章

python使用多进程的实例详解

python多线程适合IO密集型场景,而在CPU密集型场景,并不能充分利用多核CPU,而协程本质基于线程,同样不能充分发挥多核的优势。 针对计算密集型场景需要使用多进程,python的m...

深入理解Python中的super()方法

前言 python的类分别有新式类和经典类,都支持多继承。在类的继承中,如果你想要重写父类的方法而不是覆盖的父类方法,这个时候我们可以使用super()方法来实现 python语言与C+...

TensorFlow 合并/连接数组的方法

如下所示: import tensorflow as tf a = tf.Variable([4,5,6]) b = tf.Variable([1,2,3]) c = tf.co...

python使用requests.session模拟登录

python使用requests.session模拟登录

最近开发一套接口,写个Python脚本,使用requests.session模拟一下登录. 因为每次需要获取用户信息,登录需要带着session信息,所以所有请求需要带着session。...

利用Python的Twisted框架实现webshell密码扫描器的教程

好久以来都一直想学习windows中得iocp技术,即异步通信,但是经过长时间研究别人的c++版本,发现过于深奥了,有点吃力,不过幸好python中的twisted技术的存在方便了我。...