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

yipeiwu_com6年前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中的列表推导浅析

列表推导(List comprehension)的作用是为了更方便地生成列表(list)。 比如,一个list变量的元素均为数字,如果需要将每个元素的值乘以2并生成另外一个list,下面...

Python代码解决RenderView窗口not found问题

Python代码解决RenderView窗口not found问题

源起   Error:setParent: Object 'renderView' not found   这是一个在工作中很常见的问题,以前做特效的时候有10%的概率会碰到,多发生在打...

python在Windows8下获取本机ip地址的方法

本文实例讲述了python在Windows8下获取本机ip地址的方法。分享给大家供大家参考。具体实现方法如下: import socket hostname = socket.ge...

python3 map函数和filter函数详解

map()函数可以对一个数据进行同等迭代操作。例如: def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]...

Python进阶之全面解读高级特性之切片

Python进阶之全面解读高级特性之切片

众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串、列表、元组…)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢? 切片(slice)就是一种截取索引片段的技术...