如果我有一个应用程序被编写在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重新包装到安装程序中。相反,请尝试仔细记录依赖关系(如果您喜欢,请为每个依赖关系提供安装说明),并让用户设置自己的环境。 –