打包或者編譯python程式

2021-09-26 05:49:28 字數 1337 閱讀 4215

win10 anaconda(2018.3.5)中操作:

附anaconda破解方法:www.downcc.com/soft/394491.html

方案1 -打包(會看到原始碼)- 生成.zip檔案

a.切換到需要打包的檔案的資料夾中,編寫setup.py

例子:from distutils.core import setup

setup(

name='prac1',

version='1.0.0',

py_modules=['prac1']

)b.執行命令:

python setup.py sdist

c.生成的dist目錄中,會出現zip檔案,裡面包含原始碼和打包資訊。

備註:生成.whl或者.egg檔案,實際是壓縮檔案,使用壓縮檔案檢視軟體就可以看到裡面的檔案。

方案2 -編譯(看不到原始碼)- 生成.pyc檔案

1.編譯成pyc位元組碼檔案(二進位制檔案),可以隱藏原始碼。

a.命令列:

python -m compileall prac1.py

檔案中編寫:

import py_compile

py_compile.compile(prac1.py)

b.生成__pycache__資料夾,裡面會有prac1.cpython-35.pyc檔案

2.呼叫

a.在__pycache__資料夾新建檔案test.py

b.test.py例子

import prac1

if __name__ == '__main__':

read()

c.執行即可:python prac1.cpython-35.pyc

備註:其他生成pyo檔案沒有嘗試,pyd檔案是其他語言編譯生成的,後續再研究

方案3 -生成exe檔案(windows上雙擊可直接執行)

pip install pyinstaller -i  --trusted-host mirrors.aliyun.com

pyinstaller -f -w test.py

備註:pyinstaller的引數使用

-f 表示生成單個可執行檔案

-d -onedir 建立乙個目錄,包含exe檔案,但會依賴很多檔案

-w 表示去掉控制台視窗,在gui介面時非常有用。命令列程式時就刪除掉這個選項吧。

-c 使用控制台,無介面

-p 表示自己需要載入的類路徑,一般情況用不到

-i 表示可執行檔案的圖示

其他引數,可通過pyinstaller --help檢視

python打包編譯 python編譯及打包

0 背景 python是一種物件導向的解釋型計算機程式語言,具有豐富和強大的庫,使用其開發產品快速高效。python的解釋特性是將py編譯為獨有的二進位制編碼pyc檔案,然後對pyc中的指令進行解釋執行,但是pyc的反編譯卻非常簡單,可直接反編譯為原始碼,當需要將產品發布到外部環境的時候,原始碼的保...

python程式打包

拷貝yourprogram.py到pyinstaller develop master目錄下,執行 python pyinstaller.py f yourprogram.py f打包成乙個.exe檔案indexerror tuple index out of range錯誤的原因為 python版...

python程式打包

環境 centos6.5 x64 python版本 2.6 pyinstaller可以將python程式打包成二進位制檔案,打包後的檔案在沒有python的環境中也可以執行 但要有相關底層libc相關so檔案 pyinstaller支援將python程式打包成單個檔案,它所做的只是將文字轉換成二進位...