最近遇到個同事的需求,需要將大量的ppt、word文件轉(zhuǎn)換為pdf文件,但是她電腦上沒有python文件的運行環(huán)境,就為其打包成了一個簡單的.exe文件,這里簡單介紹一下.py轉(zhuǎn)換成.exe文件的方式:
win+R打開運行,輸入cmd打開命令行窗口,輸入pip install pyinstaller,命令行輸出successfully表示成功。
(1)直接生成exe文件
在py文件目錄下,打開cmd窗口,輸入pyinstall -F file/xxx.py(file/xxx.py為文件存儲路徑),執(zhí)行成功的話,會在當前目錄生成一個dist文件夾,生成的xxx.exe文件在此文件夾下。
生成的xxx.exe文件包含了代碼和環(huán)境(含代碼中使用到的庫),這時該文件就可以在其他電腦中使用了。
1、盡量將所有要執(zhí)行的py文件放在一個大文件夾下(里面允許有多個文件夾)
2、命令行輸入pyi-makespec main.py(main.py為Python程序的入口py文件)
3、現(xiàn)在文件夾下生成了一個main.spec文件和兩個文件夾
4、編輯main.spec文件,找到a = Analysis(),先修改第一個參數(shù),這里面的列表都必須是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:
第一個參數(shù)是Python中的非py類型文件的路徑
第二個參數(shù)是非py文件保存此資源的文件夾名稱,要和路徑中的文件夾名稱相同。
5、保存文件,在.spec文件路徑下打開命令行,輸入pyinstaller -D main.spec
6、生成的exe程序在dist文件夾中,dist文件夾里包含了整個項目所需的代碼和環(huán)境,可以在其他電腦中使用了。
[mark]注意:文件路徑統(tǒng)一使用雙斜杠(\\)連接[/mark]
Post Views: 67
聯(lián)系客服