用Pyinstaller生成可执行文件
Posted StarMan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Pyinstaller生成可执行文件相关的知识,希望对你有一定的参考价值。
(1)只有单程序时
当只需要将一个单独的程序(不需要用到其他模块或文件)打包成可执行文件exe时,例如一个简单的输出hello world的程序 helloworld.py。
在当前文件目录下打开cmd窗口(按住Shift + 右键,选择 在此处打开命令窗口),然后在cmd窗口中输入pyinstaller helloworld.py,然后按下回车。
命令执行后会在当前文件夹里生成一个叫 dist 的文件夹和一个叫 build 的文件夹,还有一个叫 helloworld.spec 的 spec 文件,在 dist 文件夹中会产生一个叫 helloworld 的文件夹,helloworld 文件夹中有一个叫做 helloworld.exe 的程序即为我们需要的exe文件。
点击 执行 helloworld.exe,出现以下结果
(2)需要用到其他文件如图片时,这里有两种方法。
第一种方法:比如这里有一个需要用到图片 "3.png" 的可视化窗口程序001.py
先按照(1)步骤打开cmd窗口输入 pyinstaller 001.py -w
在 dist文件夹中里生成一个001文件夹。-w的意思是去掉命令行窗口(由于001.py是一个可视化窗口程序,我们这里为了美观可以去掉命令行窗口),此时001文件夹里的001.exe是无法执行的。因为程序文件目录下缺少图片“3.jpg”,这里我们只需要将此图片“3.jpg”复制到001文件夹中,程序便可执行。
点击执行 001.exe,结果如下
第二种:同样先按照(1)步骤打开cmd窗口输入 pyinstaller 001.py ,在 dist文件夹中里生成一个001文件夹。前面已经说过,会在当前目录下产生一个001.spec的spec文件,打开spec文件编辑
找到datas参数,此时datas参数为空,我们只需要将datas=[] 修改成datas = [(\'3.png\',\'\')],
然后用在当前文件夹打开cmd窗口输入 pyinstaller 001.spec,执行此命令然后在001文件夹中就会有3.png文件
这个参数为一个列表 [(x,y)] ,x表示我们需要的文件路径,这里由于spec文件与图片3.png出于同一文件夹之下,可直接写成 \'3.png\' ,也可以写成绝对图片的绝对路径,如 \'E:\\\\Python文件\\/helloworld\\/新建文件夹\\\\3.png\',
y表示将需要的文件保存到什么文件中,这里y参数没有写表示直接保存在根目录001中,可以写成 \'.\\\\img\' ,就表示在001文件夹中创建一个img文件夹保存图片文件3.png
以上是关于用Pyinstaller生成可执行文件的主要内容,如果未能解决你的问题,请参考以下文章
用Pyinstaller把Python3.7程序打包成可执行文件exe
有没有办法创建从 pyinstaller --onefile 生成的单个可执行 exe 文件的 MSI 包?
pyinstaller 模块-python文件生成exe可执行文件