2010-03-14 70 views
7

我正在寻找一种方法将python解释器与我的应用程序(也用python编写)一起运输,以便它不需要在机器上安装python。在python应用程序中嵌入python解释器

我搜索了谷歌,发现了一堆关于如何在各种语言编写的应用程序中嵌入python解释器的结果,但没有为应用程序写入python本身......我不需要“隐藏”我的代码或制作一个像cx_freeze这样的二进制文件,我只是不希望我的用户必须安装python才能使用我的应用程序,就这些。

谢谢。

+0

Duplicate:http://stackoverflow.com/questions/106725/how-to-bundle-a-python-application-including-dependencies-for-windows,http://stackoverflow.com/questions/2933/an -executable-python-app,http://stackoverflow.com/questions/1950218/distributing-python-programs等 – 2010-03-14 12:13:34

+0

最后是的,但起初我并不想冻结我的应用程序到一个二进制文件,即使它终于成为分发我的应用的最简单的解决方案。 – MatToufoutu 2010-03-14 14:33:54

回答

9

对于在Windows机器上分布,考虑py2exe

py2exe is a Python Distutils extension which converts Python scripts 
into executable Windows programs, able to run without requiring a 
Python installation 

为Macintosh,有py2app(但我不熟悉)

而对于Windows和Linux,还有bbfreezepyinstaller

+0

谢谢,我意识到,尽管我想提供我的应用程序的源代码,最简单的方法来做到这一点(如伊格纳西奥所说)仍然会冻结我的应用程序到一个二进制文件,也运送源代码用它。 – MatToufoutu 2010-03-14 04:44:03

+0

是的,使用这种方法,您可以同时使用这两种方法:独立二进制文件和源代码,可以在解释器中使用,用户希望这样做和/或他/她是否决定修改程序。 – mjv 2010-03-14 05:00:27

2

您需要一些类型的可执行文件才能启动Python。也可能是你的应用被冻结的那个。

另一种方法是将您需要的stdlib的可执行文件,库和碎片复制到私有目录中,并针对您的应用调用该目录。

2

使用cx_freeze或py2exe等工具制作冷冻二进制文件可能是最简单的方法。这样你只需要分发可执行文件。我知道你可能不想分发二进制文件,但如果这是一个问题,你总是可以让用户选择下载源文件并从解释器运行。

0

对于Windows:py2exe

对于Linux:Freeze

全面披露:我只读过这些,从来没有使用过。也许有些人可以评论?

0

看看http://www.python-packager.com,它是一个基于pyinstaller构建可重定向python二进制文件的免费web服务。我已经使用它来为Windows构建应用程序,并且它非常易于使用,并且还可以与GUI应用程序一起使用。

+0

网站不见了,现在它重定向到http://pythoncentral.org/ – 2012-05-16 18:08:04

相关问题