首页 > 解决方案 > Python exec(script, globals()) 不显示 GUI (iPyWidgets)

问题描述

各位程序员,你好,

我想包含另一个文件中的脚本,该文件使用 iPyWidgets 创建 UI。问题是代码将执行,但没有显示任何内容。我正在使用 Jupyterhub 来显示按钮。当我自己运行代码时,会显示该按钮。

button_code.py

from ipywidgets import widgets
from IPython.display import display
from IPython.display import clear_output
from ipywidgets import Button, HBox, VBox, Layout, Button, Text, Textarea

widgets.Button(description = 'clear',
layout=Layout(width='20%', height='100%'))

call_button_script.py

import os
def call_script():

    script_dir = os.path.dirname(os.path.abspath(__file__))
    script_fqn = os.path.join(script_dir, 'button_code.py')
    script = open(script_fqn).read()

    exec(script, globals())

代码通过以下导入执行:

from call_button_script import call_script
call_script()

我错过了一些重要的东西还是还有其他可能的错误?

感谢您的时间。

标签: pythonpython-3.xipywidgetsjupyterhub

解决方案


from call_button_script import call_script call_script()在同一个目录吗?你看到控制台上的输出了吗


推荐阅读