激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - PyInstaller運行原理及常用操作詳解

PyInstaller運行原理及常用操作詳解

2020-06-14 00:29_夕顏 Python

這篇文章主要介紹了PyInstaller運行原理及常用操作詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

pyinstaller 屬于Python第三方庫,使用前需先安裝

# 首先安裝pyinstaller
pip install pyinstaller

PyInstaller生成可執行程序

?
1
2
3
4
5
6
7
# PyInstaller 工具的命令語法如下:
 
# 1、第一種
pyinstaller options ~/myproject/source/myscript.py
 
# 2、第一種
pyinstaller "C:\Documents and Settings\project\myscript.spec"

PyInstaller 支持的常用選項

 

-h,--help 查看該模塊的幫助信息
-F,-onefile

dist中產生單個的可執行文件   

eg:pyinstaller -F demo.py

-D,--onedir

產生一個目錄(包含多個文件)作為可執行程序   

eg:pyinstaller -D demo.py

-a,--ascii 不包含 Unicode 字符集支持
-d,--debug 產生 debug 版本的可執行文件
-w,--windowed,--noconsolc

指定程序運行時不顯示命令行窗口(僅對 Windows 有效)   

eg:pyinstaller -w demo.py

-c,--nowindowed,--console

指定使用命令行窗口運行程序(僅對 Windows 有效)    

eg:pyinstaller -c demo.py

-o DIR,--out=DIR 指定 spec 文件的生成目錄。如果沒有指定,則默認使用當前目錄來生成 spec 文件
-p DIR,--path=DIR

設置 Python 導入模塊的路徑(和設置 PYTHONPATH 環境變量的作用相似)。也可使用路徑分隔符(Windows 使用分號,Linux 使用冒號)來分隔多個路徑

eg:pyinstaller -p E:\python\Lib\site-packages demo.py

-n NAME,--name=NAME 指定項目(產生的 spec)名字。如果省略該選項,那么第一個腳本的主文件名將作為 spec 的名字

 

1、創建一個 app 目錄,在該目錄下創建一個 入口app.py 文件

# 進入該app目錄內,執行以下語法
pyinstaller -F app.py

當生成完成后,將會在此 app 目錄下看到多了一個 dist 目錄,并在該目錄下看到有一個 app.exe 文件,這就是使用 PyInstaller 工具生成的 exe 程序。

在命令行窗口中進入 dist 目錄下,在該目錄執行 app.exe ,將會看到該程序執行結果。

注:若程序沒有可視化界面,不能雙擊執行程序

2、創建一個 app 目錄,在該目錄下創建一個 入口app.py 文件

# 進入該app目錄內,執行以下語法
pyinstaller -D app.py

執行上面命令,將看到詳細的生成過程。當生成完成后,將會在 app 目錄下看到多了一個 dist 目錄,并在該目錄下看到有一個 app 子目錄,在該子目錄下包含了大量 .dll 文件和 .pyz 文件,它們都是 app.exe 程序的支撐文件。在命令行窗口中運行該 app.exe 程序,同樣可以看到與前一個 app.exe 程序相同的輸出結果。

3、高級用法

當有特殊需求,比如打包圖片資源文件時,就必須用到它的高級用法。

首先得了解spec文件,簡而言之,spec文件就是一份告訴pyinstaller如何打包的配置文件。
可以通過pyi-makespec demo.py來生成demo.spec文件。其內容如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# -*- mode: python -*-
 
block_cipher = None
 
resources = (("inspurer.db", "."), ("dlib_face_recognition_resnet_model_v1.dat", "."),
 ("shape_predictor_68_face_landmarks.dat", "."), ("close_logcat.png", ".")
 , ("open_logcat.png", "."), ("finish_register.png", "."), ("new_register.png", ".")
 , ("start_punchcard.png", "."), ("end_puncard.png", "."), ("index.png", "."))
 
a = Analysis(['workAttendanceSystem.py'],
       pathex=['C:\\Users\\lenovo\\Desktop\\test\\python'],
       binaries=[],
       datas=resources,
       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)
exe = EXE(pyz,
     a.scripts,
     [],
     exclude_binaries=True,
     name='workAttendanceSystem',
     debug=False,
     bootloader_ignore_signals=False,
     strip=False,
     upx=True,
     console=True )
coll = COLLECT(exe,
        a.binaries,
        a.zipfiles,
        a.datas,
        strip=False,
        upx=True,
        name='workAttendanceSystem')

對于上面這個文件,需要注意兩點:

除了resources配置是我添加修改之外,其余全是自動生成,這個配置是用來添加資源文件的。

pathex是工程的根目錄。

生成并配置好spec文件后,我們可以通過pyinstaller demo.spec來執行打包任務。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/caijunchao/p/12845620.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 蜜桃精品视频 | 国产小视频在线 | 国产91免费看 | 亚洲成人中文字幕在线 | 久久国产亚洲精品 | 一级在线免费观看视频 | 成人羞羞网站入口 | 美女黄影院 | 国产九九热 | 神马顶级推理片免费看 | 国产精品视频2021 | 国产成人自拍av | 免费一级特黄毛片 | 久久国产精品影视 | 男女污视频在线观看 | www.777含羞草 | 精品在线观看一区 | 斗罗破苍穹在线观看免费完整观看 | 91视频网 | 午夜视频在线免费观看 | 中文字幕综合在线观看 | 黄色av网站在线观看 | 免费视频一区 | 日韩大片在线永久观看视频网站免费 | 特级黄aaaaaaaaa毛片 | 欧美亚洲一级 | 国产精品亚洲yourport | 羞羞视频免费网站日本动漫 | 久久精品国产99国产精品亚洲 | 国产精品麻豆一区二区三区 | mmmwww| 精品欧美一区二区精品久久小说 | 黄色av.com | 爽爽视频免费看 | 精品麻豆cm视频在线看 | 毛片在线免费播放 | 黄色一级片免费观看 | 毛片免费视频在线观看 | 免费亚洲视频在线观看 | 天天草天天干天天 | 久久久久久久久久久国产精品 |