2011-10-19 65 views
0

我正在构建一个应用程序以使用py2app进行分发。正如我不希望从.app文件中提取的源吗,我有一个存根文件,命名为run.py,然后运行在mainapp.py代码:从存根脚本中导入主脚本导致冻结

import mainapp 

直接在运行此终端(没有py2app参与)在代码的gevent依赖部分中冻结。转换成.app时结果相同。以上述方式导入改变任何翻译环境?看起来很奇怪,只有冻结,没有错误信息(没有try/catch块)。

+0

给出的描述太有限,无法提供有用的答案。 – joaquin

回答

0

当你在Python中导入一个模块时,该模块被执行。确保在mainapp中没有可以冻结你的Python虚拟机的“免费代码”(如无限循环)。

“空闲代码”是在函数或类定义之外的指令集。

例如在

import one_module 

while(true) : 
    various_code() 

def foo() : 
    print "bar" 

第二行是自由码。

当我尝试导入这个脚本时,while指令被执行并且python冻结。