3
我正在開發一個主要使用NumPy和一個SciPy模塊(scipy.optimize.fsolve)的小工具。我與其他人分享的想法是,它包含在可移植的Python中,因此理論上每個人都可以運行它。將單個SciPy模塊編譯爲* .pyd
整個SciPy包重很多(約80 mb)。是否有可能只將1個模塊編譯爲* .pyd並將其作爲任何其他模塊導入,以便我不必包含我實際上不需要的模塊?
我正在開發一個主要使用NumPy和一個SciPy模塊(scipy.optimize.fsolve)的小工具。我與其他人分享的想法是,它包含在可移植的Python中,因此理論上每個人都可以運行它。將單個SciPy模塊編譯爲* .pyd
整個SciPy包重很多(約80 mb)。是否有可能只將1個模塊編譯爲* .pyd並將其作爲任何其他模塊導入,以便我不必包含我實際上不需要的模塊?
有幾種可能性,如果你想與您的代碼(尤其是scipy.optimize.fsolve
)分配一個子集SciPy的代碼,
fsolve
功能。經過快速瀏覽,至少,scipy/optimize/optimize.py
,scipy/optimize/minpack.py
,scipy/optimize/_minpack.so/.pyd
(但也許我錯過了一對夫婦)。scipy/weave
,scipy/sparse
,scipy/linalg
等scipy.optimize.fsolve
圍繞一個簡單的包裝和編譯與用Cython C代碼,這應該產生一個獨立的.pyd /。所以應該有一個python模塊來自動做到這一點,例如pyinstaller
確實包括僅在它產生的二進制可執行所需的模塊。所以你需要一個產生動態庫的等效的pyinstaller
。