首頁 後端開發 Python教學 使用PyInstaller將Python程式檔案轉換為可執行程式檔案

使用PyInstaller將Python程式檔案轉換為可執行程式檔案

Jul 22, 2016 am 08:56 AM
pyinstaller python

Windows下採用PyInstall將py檔轉換成exe執行檔
好不容易寫完的py文件,想做成exe文件,最開始選擇用py2exe,結果產生的exe遇到兩個問題,
1. py程式裡print 的訊息,cmd執行tool後並沒有顯示在螢幕上;
2. 呼叫dll接口,執行py檔時是阻塞等待的,結果cmd中執行exe時,tool很快先返回了,接口還在運行,很詭異
一時找不到解決的方法,無奈棄用了,在網路上找了pyinstall,試了一下,感覺功能更強大些。 。 。
安裝PyInstaller前需確認先安裝了pywin32
下載網址:http://nchc.dl.sourceforge.net/project/pywin32/pywin32/Build 218/pywin32-218.win32-py2.7.exe
 
一、PyInstaller安裝
1.下載網址:http://www.pyinstaller.org/wiki
2.最新版本:PyInstaller 2.0
3.直接「解壓縮」之後即可使用,解壓縮到您想讓他在的路徑即可
 
二、PyInstaller配置
1.事先寫好py程式
2.在命令列執行:

Python Makespec.py --console --onefile NotePad\notepad.py
登入後複製

報錯:

Configfile is missing or unreadable. Please run Configure.py before building
登入後複製

3.在命令列執行:

Configure.py
登入後複製

報錯:

Python 2.6 on Windows support needs pywin32,Please install http://sourceforge.net/projects/pywin32/

4.安裝最新版本的 pywin32-217.win32-py2.7.exe,下載位址:http://sourceforge.net/projects/pywin32/files/pywin32/Build 217/
 
三、PyInstaller使用
PyInstaller的使用相對簡單,cmd下進入解壓縮出來的目錄,執行以下指令:

python pyinstaller.py [opts] yourprogram.py
登入後複製

四、主要選項包括:
-F, -onefile 打包成一個exe檔
-D, -onedir 建立目錄,包含exe文件,但會依賴很多文件(預設選項)
-c, -console, -nowindowed 使用控制台,無介面(預設)
-w, -windowed, -noconsole 使用窗口,無控制台

五、注意事項
在轉換之前要確保py程式可以正常通過;
如果轉換過程中出現什麼錯誤,用搜尋引擎搜尋解決一下。


Linux下安裝pyinstaller用來將py檔打包產生一個執行檔
一、安裝使用流程

1. 先給系統一個easy_install, 如果裝了的可以跳過這步
到pypi官方網址 https://pypi.python.org/pypi/setuptools 去download最新版本

2. 官網上下載pyinstaller,目前的最新版本是2.1
(1) 網址 http://www.pyinstaller.org/

3.解包進入原始碼目錄
(1)

tar -zxvf pyinstaller_2.1.tar.gz
登入後複製

(2)

cd pyinstaller-2.1
登入後複製

運行

python setup.py install
登入後複製

4. 拷貝py檔
將需打包的py檔案如test.py 拷貝到目前目錄

5. 產生執行檔
cd到pyinstaller目錄, 執行

python pyinstaller.py test.py
登入後複製

二、可能遇到的問題

1. 使用者權限
直接在root使用者下執行pyinstaller會報錯 “cannot run pyinstaller as user root"...
所以需新增另外一個用戶,並給用戶對pyinstaller所在的目錄及所有父目錄添加讀寫權限,避免運行後報‘mkdir' permission denied...

2. 找不到python lib動態函式庫
su切換到新增使用者後,
pyinstaller報錯找不到python動態函式庫

raise IOError("Python library not found!")
IOError: Python library not 
登入後複製

執行python --version查看當前版本,並查找/usr/local/lib 下有沒有對應版本的libpython*.*.so文件,
如果有則跳過這步,如果沒有則需要重新安裝python,在python安裝配置中一定要加上--enable-shared參數就可以產生對應動態連結庫,如:

#./configure --enable-shared --prefix=/usr/local
#make
#make install
登入後複製

我環境中更新過python版本,導致/usr/lib下不是最新版本的庫文件,需要將新版本拷貝到對應的/usr/lib目錄下,注意有兩個文件:

#cp libpython*.so /usr/lib/
#ln -s /usr/lib/libpython*.so.1.0 /usr/lib/libpython*.so
登入後複製

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

怎麼下載deepseek 小米 怎麼下載deepseek 小米 Feb 19, 2025 pm 05:27 PM

怎麼下載deepseek 小米

模板化的優點和缺點有哪些? 模板化的優點和缺點有哪些? May 08, 2024 pm 03:51 PM

模板化的優點和缺點有哪些?

Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2 Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2 Jul 01, 2024 am 07:22 AM

Google AI 為開發者發佈 Gemini 1.5 Pro 和 Gemma 2

只要250美元,Hugging Face技術主管手把手教你微調Llama 3 只要250美元,Hugging Face技術主管手把手教你微調Llama 3 May 06, 2024 pm 03:52 PM

只要250美元,Hugging Face技術主管手把手教你微調Llama 3

golang 函數調試與分析的完整指南 golang 函數調試與分析的完整指南 May 06, 2024 pm 02:00 PM

golang 函數調試與分析的完整指南

分享幾個.NET開源的AI和LLM相關專案框架 分享幾個.NET開源的AI和LLM相關專案框架 May 06, 2024 pm 04:43 PM

分享幾個.NET開源的AI和LLM相關專案框架

deepseek怎麼問他 deepseek怎麼問他 Feb 19, 2025 pm 04:42 PM

deepseek怎麼問他

NET40是什麼軟體 NET40是什麼軟體 May 10, 2024 am 01:12 AM

NET40是什麼軟體

See all articles