目录
- Python基础知识详解 从入门到精通(九)生成exe文件(可执行)、pyc、pyo文件
- 生成可执行文件
- 前提
- 步骤
- 后续,问题解决
- 生成pyc,pyo文件
- 方法
Python基础知识详解 从入门到精通(九)生成exe文件(可执行)、pyc、pyo文件
生成可执行文件
Python的代码需要依赖python环境才能运行,但是我们有时候需要脱离python环境执行代码,这时候就需要生成可执行文件(exe文件)
前提
安装python时候要勾选下面两个复选框否则会出错
如下
步骤
这里需要用到pip,一般都已经内置
- 安装pyinstaller
按win+R 输入cmd 回车打开命令行界面
输入
pip install pyinstaller
- 生成exe文件
pyinstaller -F [路径]文件名.py
若是 gui类型程序,不需要弹出命令窗口,步骤2改为
python pyinstaller -F -w 文件名.py
-F 表示生成单个可执行文件
-W 表示去掉控制台窗口,这在GUI界面是非常有用。不过如果是命令行程序的 话 那就删除这个选项!
后续,问题解决
执行命令后下生成三个目录:pycache、dist和build
__pycache__存放的.pyc文件是依赖于Python环境运行的,但是它可以用于不想让别人知道源码的时候,因为这种类型的文件是无法查看源码的;
build目录是pyinstaller存成临时文件的目录,可以安全删除;
最终的打包的exe可执行文件存在dist目录下:
注意dist可能不在原目录下,执行命令时会显示位置如,白色部分
若代码中有自己编写的模块,生成的exe可能不能用,解决方法如下,
两种方法
- 方法是把自己编写的模块与要打包的py文件放在同一目录下,然后直接打包即可;方法如上
- 是将自己编写的模块放到python的三方模块site-package文件夹中,然后再对py文件进行打包,方法如上
生成pyc,pyo文件
.pyc文件是字节码文件依赖于Python环境运行的,但是它可以用于不想让别人知道源码的时候,因为这种类型的文件是无法查看源码的
pyo文件是经过优化的字节码文件作用同上
方法
方法有两个
- py_compile模块
引入模块
import py_compile
py_compile.compile(‘指定的文件名.py’,‘生成的文件名.pyc‘)
命令compile.会将同目录下的文件编译成 .pyc文件(字节码文件) - 命令行
用 python -o -m py_compile 编译的文件名.py
生成pyo文件 (经过优化处理的字节码文件)