前言:才入職新公司;進來工作內(nèi)容,就是將之前的python腳本項目打包成.exe可執(zhí)行文件;一來方便不同崗位的同事之間使用,二來源碼信息不會改動和泄漏。
正因為python具有豐富的第三方庫,目前已有數(shù)萬之多;這里用到的是 'pyinstaller'庫;
正文:
兩種情況:Ⅰ、單獨一個py文件打包成exe,Ⅱ、整個項目或者多個py打包成exe;
一、Python環(huán)境(不做介紹)
二、win+r 輸入md,進入’命令提示符‘
在命令窗口安裝pyinstaller包:pip install pyinstaller
三、安裝好pyinstaller庫后
Ⅰ、單獨一個py文件打包成exe
我這里以打包buildsDemo項目為例,將main.py打包成.exe可執(zhí)行文件
①:進入需要打包成exe的main.py文件夾下輸入'cmd' 進入'命令提示符中';

②:輸入:pyinstaller -F -i 013.ico main.py
-F:打包后只生成單個exe格式文件,啟動較慢;
-D:默認選項,創(chuàng)建一個目錄,包含exe文件以及大量依賴文件,啟動較快;
-c:默認選項,使用控制臺(就是類似cmd的黑框);
-w:不使用控制臺;
-p:添加搜索路徑,讓其找到對應(yīng)的庫;(多數(shù)圖片格式都行)
-i:改變生成程序的icon圖標(biāo)。

出現(xiàn):Building EXE from EXE-00.toc completed successfully.
執(zhí)行成功后,生成兩個文件夾(build、dist)和一個.spec文件(main.spec)

dist文件夾下,就是已生成好的exe文件了

Ⅱ、整個項目或者多個py打包成exe;
注意:多個文件打包方法==》先打包一個py;在修改打包后生成的spec文件;
以上述Ⅰ中為例前提:
①:刪除build、dist文件夾;只保留main.spec文件

②:編輯main.spec;將其它需要打包的py加入到 Analysis中:
===修改前:
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(
[main.py],
...省略相同代碼...
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
...省略相同代碼...
console=True,
? ? ...省略相同代碼...
)

===修改后:

③:注意:如果項目有界面,不需要黑色窗口,需將main.spec文件中的console=true 改為console = False(默認為True)
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
py_files = [
'tools\\add_ip.py',
'tools\\get_data.py',
'log.py',
'main.py',
'utils.py',
]
a = Analysis(
py_files,
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
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)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='main',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon=['013.ico'],
)
④:修改完成后,執(zhí)行命令:pyinstaller main.spec;執(zhí)行成功后文章來源:http://www.zghlxwxcb.cn/news/detail-456657.html
再次生成build、dist文件夾。dist下的exe便是項目的exe文件了。文章來源地址http://www.zghlxwxcb.cn/news/detail-456657.html
到了這里,關(guān)于python項目打包成exe可執(zhí)行文件(pyinstaller庫)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!