用veusz分发python编写的可执行文件

时间:2011-11-01 00:54:32

标签: python py2exe

我想将用python编写的应用程序分发为.exe文件。我已经能够使用py2exe来做到这一点,但现在我已将veusz库合并到我的代码中。理想情况下,我的程序应该打开一个veusz图(就像它在我的计算机上,它已经安装了python,numpy等)。但是,我想分发一个可执行文件,而无需安装python。

当我尝试使用py2exe运行我的setup.py时,一切正常并且构建了exe。但是,一旦应用程序运行并到达显示图形的程度,它就会发送:

  

运行时错误:无法在系统路径上找到veusz可执行文件。

我可以解决这个问题,而无需在客户的计算机上安装一堆东西吗?这可能吗?如果我必须安装一些东西,我需要安装的最小软件数量是多少?

1 个答案:

答案 0 :(得分:1)

Veusz在一个单独的python进程中运行其用户界面,因此它不会阻止python。如果你看看veusz / embed.py,它会尝试启动python或veusz可执行文件。您需要修改embed.py以启动您的.exe(sys.executable),如果冻结而不是veusz并传递一些特殊参数,您的程序将解释为开始运行veusz.embed_remote.runremote。

python多处理模块必须做类似的事情 - 你需要调用一个多进程函数来检查程序是否是通过多处理启动的 - 来解决Windows没有工作分叉的事实。