持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第5天,点击查看活动详情
生成可执行文件
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文件 (经过优化处理的字节码文件)