mla*_*a01 4 module attributeerror kaggle google-colaboratory python-traitlets
我正在 Kaggle 服务器上运行 .ipynb 笔记本。
在第一个代码单元中,导入模块时,特别是来自 google.patches 的 cv2_imshow,如下所示,
from google.colab.patches import cv2_imshow
我收到此错误:
/opt/conda/lib/python3.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.
warn("IPython.utils.traitlets has moved to a top-level traitlets package.")
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/tmp/ipykernel_27/1840971195.py in <module>
18
19 # Display images using OpenCV
---> 20 from google.colab.patches import cv2_imshow # Importing cv2_imshow from google.patches to display images
21
22 # Ignore warnings
/opt/conda/lib/python3.7/site-packages/google/colab/__init__.py in <module>
24 from google.colab import _tensorflow_magics
25 from google.colab import auth
---> 26 from google.colab import data_table
27 from google.colab import drive
28 from google.colab import files
/opt/conda/lib/python3.7/site-packages/google/colab/data_table.py in <module>
164
165
--> 166 class _JavascriptModuleFormatter(_IPython.core.formatters.BaseFormatter):
167 format_type = _traitlets.Unicode(_JAVASCRIPT_MODULE_MIME_TYPE)
168 print_method = _traitlets.ObjectName('_repr_javascript_module_')
/opt/conda/lib/python3.7/site-packages/google/colab/data_table.py in _JavascriptModuleFormatter()
165
166 class _JavascriptModuleFormatter(_IPython.core.formatters.BaseFormatter):
--> 167 format_type = _traitlets.Unicode(_JAVASCRIPT_MODULE_MIME_TYPE)
168 print_method = _traitlets.ObjectName('_repr_javascript_module_')
169
AttributeError: module 'IPython.utils.traitlets' has no attribute 'Unicode'
Run Code Online (Sandbox Code Playgroud)
运行后
from traitlets import *
print(traitlets)
<module 'traitlets.traitlets' from '/opt/conda/lib/python3.7/site-packages/traitlets/traitlets.py'>
Run Code Online (Sandbox Code Playgroud)
并重新运行问题行,处理错误消息的顶部部分,
/opt/conda/lib/python3.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.
warn("IPython.utils.traitlets has moved to a top-level traitlets package.")
Run Code Online (Sandbox Code Playgroud)
错误消息的这一部分消失,但其他所有内容保持不变。
google-colab 1.0.0
Run Code Online (Sandbox Code Playgroud)
小智 8
警告消息表明 Traitlets 现在是顶级包,而不是仍在 IPython.utils 包下。
您可以通过编辑 data_table.py 文件 ( ) 来修复错误 /opt/conda/lib/python3.7/site-packages/google/colab/data_table.py。更改导入 Traitlets 包的行
from IPython.utils import traitlets as _traitlets
到
import traitlets as _traitlets
我不知道为什么会出现这个错误,但这无论如何为我解决了它。
我有一个 jupyter-notebook 环境,我在 WSL 的 Ubuntu 上克隆了colabotools并使用 pip 安装了它。运行“from google.colab import output”时,我遇到了类似的错误。
作为解决方法,我将“traitlets”模块目录复制到 IPython.utils 模块目录并备份 IPython.utils/traitlets.py。之后我就没有再犯任何错误。下面是执行脚本。
!cp -r /home/engbjapan/.local/lib/python3.10/site-packages/traitlets /home/engbjapan/.local/lib/python3.10/site-packages/IPython/utils/
!mv /home/engbjapan/.local/lib/python3.10/site-packages/IPython/utils/traitlets.py /home/engbjapan/.local/lib/python3.10/site-packages/IPython/utils/traitlets.py.bkup
from IPython.utils import traitlets
traitlets.Unicode
>IPython.utils.traitlets.traitlets.Unicode
from google.colab import output
#no error
from google.colab.patches import cv2_imshow
#no error
Run Code Online (Sandbox Code Playgroud)
供你参考。
| 归档时间: |
|
| 查看次数: |
3038 次 |
| 最近记录: |