VS Code下Python3.8导入qgrid报TypeError:register()缺widget参数
问题:VS Code中Python 3.8.3运行Jupyter Notebook导入qgrid时报错
场景与问题
- 运行环境:VS Code + Python 3.8.3 + Jupyter Notebook
- 问题现象:导入qgrid包时触发错误:
TypeError: register() missing 1 required positional argument: 'widget' - 已尝试操作:安装
ipywidgets==7.0版本,错误仍未解决
完整报错信息
TypeError Traceback (most recent call last) Cell In[15], line 2 1 get_ipython().system('pip install ipywidgets==7.0') ----> 2 import qgrid 4 # Creamos una copia 5 df2 = df.copy() File c:\Users\Franco\AppData\Local\Programs\Python\Python38\lib\site-packages\qgrid\__init__.py:3 1 from ._version import version_info, __version__ # noqa F401 ----> 3 from .grid import ( 4 enable, 5 disable, 6 set_defaults, 7 on, 8 off, 9 set_grid_option, 10 show_grid, 11 QgridWidget, 12 QGridWidget, 13 ) 16 def _jupyter_nbextension_paths(): 17 return [ 18 { 19 "section": "notebook", ... 562 563 """ 565 _view_name = Unicode('QgridView').tag(sync=True) TypeError: register() missing 1 required positional argument: 'widget'
解决方案
1. 安装兼容版本的qgrid与ipywidgets
qgrid 1.3.1版本与ipywidgets 7.x系列兼容性更稳定,执行以下命令安装:
pip install qgrid==1.3.1 ipywidgets==7.7.1
2. 启用Jupyter扩展
安装完成后,启用widgets和qgrid的nbextension:
jupyter nbextension enable --py --sys-prefix widgetsnbextension jupyter nbextension enable --py --sys-prefix qgrid
3. 重启环境
关闭VS Code窗口,重新打开后重启Jupyter内核,再次尝试导入qgrid即可。
内容的提问来源于stack exchange,提问作者Franco Riottini
相关产品推荐
相关产品推荐

