小编Sep*_*rvi的帖子

无法从“cv2.cv2”导入名称“_registerMatType”

当我model_main_tf2.py在对象检测 API 上运行时,收到以下错误消息:

Traceback (most recent call last):
  File "/content/models/research/object_detection/model_main_tf2.py", line 32, in <module>
    from object_detection import model_lib_v2
  File "/usr/local/lib/python3.7/dist-packages/object_detection/model_lib_v2.py", line 29, in <module>
    from object_detection import eval_util
  File "/usr/local/lib/python3.7/dist-packages/object_detection/eval_util.py", line 36, in <module>
    from object_detection.metrics import lvis_evaluation
  File "/usr/local/lib/python3.7/dist-packages/object_detection/metrics/lvis_evaluation.py", line 23, in <module>
    from lvis import results as lvis_results
  File "/usr/local/lib/python3.7/dist-packages/lvis/__init__.py", line 5, in <module>
    from lvis.vis import LVISVis
  File "/usr/local/lib/python3.7/dist-packages/lvis/vis.py", line 1, in <module>
    import cv2
  File "/usr/local/lib/python3.7/dist-packages/cv2/__init__.py", line 9, in <module>
    from .cv2 import _registerMatType …
Run Code Online (Sandbox Code Playgroud)

python tensorflow object-detection-api

51
推荐指数
3
解决办法
7万
查看次数

Python 3:如何指定stdin编码

在将代码从Python 2移植到Python 3时,我在从标准输入读取UTF-8文本时遇到了这个问题.在Python 2中,这很好用:

for line in sys.stdin:
    ...
Run Code Online (Sandbox Code Playgroud)

但Python 3期望来自sys.stdin的 ASCII ,如果输入中有非ASCII字符,我会收到错误:

UnicodeDecodeError:'ascii'编解码器无法解码字节..位置..:序号不在范围内(128)

对于常规文件,我会在打开文件时指定编码:

with open('filename', 'r', encoding='utf-8') as file:
    for line in file:
        ...
Run Code Online (Sandbox Code Playgroud)

但是如何指定标准输入的编码?其他SO帖子建议使用

input_stream = codecs.getreader('utf-8')(sys.stdin)
for line in input_stream:
    ...
Run Code Online (Sandbox Code Playgroud)

但是,这在Python 3中不起作用.我仍然得到相同的错误消息.我正在使用Ubuntu 12.04.2,我的语言环境设置为en_US.UTF-8.

python unicode encoding stdin python-3.x

30
推荐指数
1
解决办法
2万
查看次数