[英]How to minimize the Python 3.6 runtime for an embedded system?
我們做了一個ARM 9嵌入式系統,Linux等。最近有客戶要求我們為他們預裝Python 3。 我們制定了交叉編譯(QEMU 真的很神奇),但最終的構建是 177Mb,所以這是不行的。 這里最好的計划是什么——我們可以去掉 Doc 目錄,也許還有“構建”目錄? 我看到 Lib 目錄是 54Mb - 這是選擇客戶需要什么庫的情況嗎? 我們對 Python 知之甚少。 明確地說,我看到很多關於打包 Python 應用程序的建議——這不是我們正在做的——我們正在打包 Python 運行時。 謝謝! (目錄大小匯總如下)
1.6M ./Python-3.6.0/Mac 760K ./Python-3.6.0/Include 17M ./Python-3.6.0/build 5.4M ./Python-3.6.0/Python 8.0K ./Python-3.6.0/.github 54M ./Python-3.6.0/Lib 2.7M ./Python-3.6.0/PC 2.7M ./Python-3.6.0/Tools 6.9M ./Python-3.6.0/Objects 11M ./Python-3.6.0/Doc 824K ./Python-3.6.0/Parser 20M ./Python-3.6.0/Modules 15M ./Python-3.6.0/Programs 620K ./Python-3.6.0/PCbuild 12K ./Python-3.6.0/Grammar 5.8M ./Python-3.6.0/Misc 161M ./Python-3.6.0 177M .
滿足您要求的可能選擇可能是 MicroPython,它是 PYthon 3 的實現,它由 Python 標准庫的一小部分組成。 根據他們的網站,它針對微控制器和受限環境: https : //micropython.org/
根據他們的描述,MicroPython 的目標是盡可能與普通 Python 兼容,以允許您輕松地將代碼從桌面傳輸到微控制器或嵌入式系統。 然而,它足夠緊湊,可以在僅 256k 的代碼空間和 16k 的 RAM 內運行。
有一個在線項目將 MicroPyton 的實現放在基於 Arm Cortex M4 的嵌入式系統中也可能會有所幫助: https : //github.com/micropython/micropython/wiki
我們刪除了以下內容:
.pyc
文件(安裝后可以重新編譯)我們選擇不進行以下操作:
python3 -m compileall .
重新生成.pyc
時發現的那樣python3 -m compileall .
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.