2017-08-14 65 views
0

我有一個NumPy腳本,我想「編譯」成一個小型的獨立程序,這樣我就可以輕鬆地將它部署到AWS Lambda上。儘管我的腳本只使用了NumPy的一小部分,但我已經嘗試過PyInstaller,但最終的程序非常龐大(如500 MB)。那裏有某種NumPy to C轉譯器或某種東西?我正在研究在TensorFlow中手動重寫我的NumPy代碼,然後使用XLA AOT,但這非常麻煩。將NumPy腳本部署爲小型二進制文件,如何?

例如,節約以下爲main.py

import numpy as np 

x = np.array([1.0, 2.0, 3.0]) 
y = x * 2 

print(y) 

,然後調用pyinstaller main.py導致dist目錄578,5 MB。

+0

[在這裏,我用Google搜索 「numpy的到C transpiler」 爲您(https://www.google.com/search?q=numpy+to+c+transpiler&ie=utf-8&oe=utf- 8) – saintsfan342000

+1

@ saintsfan342000:結果是相當無用的 – Eric

+0

500MB非常大 - [這個其他問題](https://stackoverflow.com/questions/38817817/pyinstaller-makes-my-4kb-python-program-163mb-這是正常的)似乎正在使用更多的模塊,但只有163mb。你確定別的東西沒有膨脹嗎? – Eric

回答

1

http://nuitka.net/適用於將NumPy腳本編譯爲便攜式發行版。簡單地說:

pip install nuitka 
nuitka --standalone main.py 
相關問題