输入法与Anavonda 3.5.5中的mayavi导入挂起

时间:2018-05-17 13:33:57

标签: python python-3.x input hang mayavi

我有一个输入行,要求用户按Enter键继续。这样他们就有时间在程序结束之前读取一些东西(在我构建exe时)。

我最近从自定义Python 3.6环境转移到使用Anaconda for Python 3.5.5,现在如果用户点击进入而没有实际输入字符,代码将在输入语句后挂起。

我的脚本导入mayavi,当我删除该导入行时,问题就消失了。我真的很喜欢使用mayavi,只花了3天时间让所有内容都正确冻结,所以我更愿意继续使用它。

示例:

junk = input('Please press enter!')

如果用户点击进入,程序就会挂起。但是,如果您输入一个然后按Enter键,它将按预期工作。如何在不输入任何字符的情况下继续输入?

修改

有关更多详细信息,我使用Anaconda Python 3.5.5环境在Windows上的Visual Studio Code中运行此代码。在我运行它的代码中的哪个位置并不重要。我认为无论如何都会发生这种情况,但我开始剥离进口并开始重新开始工作。我正在导入一个自定义类,tkinter,xlwings,numpy,traceback,mayavi.mlab,sys,time,win32api.GetSystemMetrics和win32com.client.gencache。我将继续查看是否特别重要。

此外,这都是在包装函数中运行的,所以我不知道这是否重要。此外,我听到了捕获任何异常的问题,但这符合我的要求。

def main_wrapper():
    # wrapper for main program to catch any exceptions and display them to the user
    try:
        main()
    except Exception as ex:
        print('Unexpected exception occurred...')
        traceback.print_exc()

if __name__ == '__main__':
    main_wrapper()

0 个答案:

没有答案