Python 3.5 嘗試 PyInstaller 3.1
Introduction
Python是個很方便的語言,但是當你需要將程式分享給他人使用時,這種script language需要安裝相對應的直譯器和環境,大幅降低檔案分享的容易程度,因此我們能藉由一些第三方軟體來將python的程式碼打包成Windows、Linux或Mac可以執行的執行檔(ex: exe..)
目前我知道能打包python的工具有py2exe、pyinstaller、cx-freeze
雖然py2exe很小巧方便,但似乎不支援python3.5
所以本篇嘗試使用 pyinstaller!
所以本篇嘗試使用 pyinstaller!
安裝(在command line下指令)
安裝指令(若不清楚pip可看這篇)
pip install pyinstaller
或是更新
pip install --upgrade pyinstaller
使用方式
這套件功能很強大,官方檔案
pyinstaller [options] script [script ...] | specfile不加任何參數,即可將檔案打包成一個資料夾(包含執行檔+引入的函式庫)
pyinstaller myscript.py
若要將整個資料夾打包成一個執行檔pyinstaller -F myscript.py
其他功能未來介紹,或請參閱官方檔案問題
- 若產生"failed to create process."
目前推測可能有些bug導致無法解析含空格的檔案路徑(EX:預設的Python 3.5即有空格),因此可以選擇把python裝在沒有含空格的路徑,重新install所以相關檔案。
或是:
cd /path.../python 3.5/Scripts
python pyinstaller-script.py path/YourScript.py
Hi,
回覆刪除請問一下,我在 windows 10 用 mingw 用 pip install pyinstaller, 他出現 UnicodeDecodeError: 'cp950' codec can't decode byte 0xe2 in position 208687: illegal multibyte sequence 有解碼?
主程式跟編譯檔標題加上 # coding: cp950 看看~ 我程式內有中文註解但是用py2exe去包裝 是可以的
刪除作者已經移除這則留言。
刪除我也遇到相同問題,目前加上# coding: cp950 主程式變得無法在Spyder3.5內執行
刪除File "", line 1
回覆刪除pyinstaller tactactac
^
SyntaxError: invalid syntax
File "", line 1
回覆刪除pyinstaller tactactac
^
SyntaxError: invalid syntax