如果我有一個應用程序被編寫在Python中,並且具有像numpy和scipy一樣的依賴關係,並且是C語言的一部分,我如何將它打包爲可執行文件(例如Linux)或作爲源代碼發佈包在安裝numpy/scipy和其他Python模塊?即是否有可能將numpy/scipy打包成二進制文件?謝謝。包裝numpy/scipy和其他Python包與C應用程序?
回答
如果你想要一個獨立的可執行文件,我建議嘗試PyInstaller。它是跨平臺的(Windows,Linux,MacOS X,...),並且具有相當廣泛的支持,對許多packages具有二進制相關性,包括numpy。
是否有替代方案?如果你包含一個沒有開箱即用的支持,它是否有限制? – user248237dfsf
我一直在使用它在Windows上的一個相當複雜的應用程序(計劃將它擴展到Mac OS X和Linux的包),並且它工作得很好。我建議你儘量按照提供的說明進行操作,如果碰到任何障礙,我將能夠提供幫助。對於Windows(和[py2app](http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html)),Mac的替代方法是[py2exe](http://www.py2exe.org/) OS X)作爲@millimoose在你的問題的評論中提到,[cx_Freeze](http://cx-freeze.sourceforge.net/)也是跨平臺的。 –
- 1. 其他應用程序中的包裝Rails應用程序
- 2. #包括其他C程序
- 3. C#包裝和web應用程序
- 4. 其他包裝
- 5. 錯誤包裝Python應用程序,使其PIP-安裝
- 6. 在Python包裝和用C
- 7. 包括其他打包的軟件與C#安裝
- 8. 將iOS應用程序包含到其他應用程序中
- 9. iOS - 包含其他應用程序的應用程序
- 10. IPC與C++應用程序和其他應用程序之間的C + +和VB.Net
- 11. Python程序的Python包裝
- 12. 如何打包python應用程序使其可以pip安裝?
- 13. 在C應用程序中包含其他語言的庫
- 14. 包裝AngularJs應用程序
- 15. 包裝應用程序
- 16. 應用程序包裝
- 17. Android應用程序包裝
- 18. 包裝java應用程序
- 19. 打包與其他應用程序共享的多個組件
- 20. 沒有包安裝程序與Python 3.3?
- 21. C#在另一個應用程序中包裝應用程序
- 22. Java服務包裝器和其他應用程序命令行參數
- 23. 修改WAMP(或其他開放源碼LAMP安裝包)以包含其他應用程序
- 24. 與其他應用程序
- 25. C#:其他方法的包裝方法
- 26. 創建安裝程序包與MySQL C#
- 27. 打包python應用程序
- 28. 將SWIG包裝與其他庫鏈接
- 29. [Python 2.7] Pynsist包裝程序
[Distutils](http://docs.python.org/distutils/index.html#distutils-index)可以用您的Python應用程序打包C擴展文件。解決用戶計算機依賴問題的最簡單方法是使用軟件包管理器,或在用戶指南中給出明確的說明。你並不是真的想要構建一個全新的Python發行版。 –
但是如果你想製作一個二進制文件呢? – user248237dfsf
構建的發行版在[官方的Distutils文檔](http://docs.python.org/distutils/builtdist.html)中有解釋。我的建議是不要試圖將numpy重新包裝到安裝程序中。相反,請嘗試仔細記錄依賴關係(如果您喜歡,請爲每個依賴關係提供安裝說明),並讓用戶設置自己的環境。 –