最近遇到个同事的需求,需要将大量的ppt、word文件转换为pdf文件,但是她电脑上没有python文件的运行环境,就为其打包成了一个简单的.exe文件,这里简单介绍一下.py转换成.exe文件的方式: 第一步:安装pyinstallerwin+R打开运行,输入cmd打开命令行窗口,输入pip install pyinstaller,命令行输出successfully表示成功。 第二步:生成exe文件一、单个.py文件(1)直接生成exe文件 在py文件目录下,打开cmd窗口,输入pyinstall -F file/xxx.py(file/xxx.py为文件存储路径),执行成功的话,会在当前目录生成一个dist文件夹,生成的xxx.exe文件在此文件夹下。 生成的xxx.exe文件包含了代码和环境(含代码中使用到的库),这时该文件就可以在其他电脑中使用了。 二、多个.py文件1、尽量将所有要执行的py文件放在一个大文件夹下(里面允许有多个文件夹) 2、命令行输入pyi-makespec main.py(main.py为Python程序的入口py文件) 3、现在文件夹下生成了一个main.spec文件和两个文件夹 4、编辑main.spec文件,找到a = Analysis(),先修改第一个参数,这里面的列表都必须是py文件 a = Analysis(['pin.py'], pathex=['F:\\python_ToPDF\\pytest\\pin'], binaries=[], datas=[], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) 如果用到了其他的py文件,就在第一个列表里面加入相应py文件的路径,如果是同级目录下,直接写文件名,如果不在同一个文件下,写完整路径。 a = Analysis(['pin.py', 'cursor_control.py'], pathex=['F:\\python_ToPDF\\pytest\\pin'], binaries=[], datas=[], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) 如果用到了非py文件需要打包,那么找到datas列表,将非py文件的路径与文件夹名写在元组里。 例如: datas = [('C:\\python_ToPDF\\names','name'),('C:\\python_ToPDF\\imgs','img')] datas:
5、保存文件,在.spec文件路径下打开命令行,输入 6、生成的exe程序在dist文件夹中,dist文件夹里包含了整个项目所需的代码和环境,可以在其他电脑中使用了。 [mark]注意:文件路径统一使用双斜杠(\\)连接[/mark] Post Views: 67 |
|