google-coral - 珊瑚开发板 Windows 10 设置
问题描述
我遵循了https://coral.ai/docs/dev-board/get-started/中描述的 Windows 主机说明
当我运行命令 mdt devices 时,我总是得到以下异常:
$ mdt devices
Traceback (most recent call last):
File "c:\users\ram\anaconda3\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\ram\anaconda3\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\Ram\AppData\Roaming\Python\Python38\Scripts\mdt.exe\__main__.py", line 7, in
<module>
File "C:\Users\Ram\AppData\Roaming\Python\Python38\site-packages\mdt\main.py", line 162, in
main
exit(command.run(sys.argv[1:]))
File "C:\Users\Ram\AppData\Roaming\Python\Python38\site-packages\mdt\devices.py", line 43, i
n run
self.discoverer.discover()
File "C:\Users\Ram\AppData\Roaming\Python\Python38\site-packages\mdt\discoverer.py", line 40
, in discover
self.zeroconf = Zeroconf()
File "C:\Users\Ram\AppData\Roaming\Python\Python38\site-packages\zeroconf\__init__.py", line
2508, in __init__
self._listen_socket, self._respond_sockets = create_sockets(
File "C:\Users\Ram\AppData\Roaming\Python\Python38\site-packages\zeroconf\__init__.py", line
2343, in create_sockets
respond_socket = new_respond_socket(i, apple_p2p=apple_p2p)
File "C:\Users\Ram\AppData\Roaming\Python\Python38\site-packages\zeroconf\__init__.py", line
2302, in new_respond_socket
respond_socket = new_socket(
File "C:\Users\Ram\AppData\Roaming\Python\Python38\site-packages\zeroconf\__init__.py", line
2250, in new_socket
s.bind((bind_addr[0], port, *bind_addr[1:]))
OSError: [WinError 10049] The requested address is not valid in its context
我的设置版本:
$ python --version
Python 3.8.5
$ mdt version
MDT version 1.5.2
你能帮我解决这个问题吗?
解决方案
同样的事情发生在我身上。跳过一些 IP 地址解决了这个问题。试试这个代码:
import logging
import zeroconf
import ifaddr
for adapter in ifaddr.get_adapters():
print("IPs of network adapter ", adapter.nice_name)
for ip in adapter.ips:
print(" %s/%s", ip.ip, ip.network_prefix)
logging.basicConfig(level=logging.DEBUG)
logging.getLogger("zeroconf").setLevel(level=logging.DEBUG)
z = zeroconf.Zeroconf()
从日志中,找到
INFO:zeroconf:Address not available when add XXX.XXX.XX.XX to multicast group,预计在某些系统上会发生
除了 Zeroconf 日志,还应该有一个 IP 地址和名称列表。请找到导致问题的硬件的名称。
现在,打开zeroconf/__init__.py
并转到get_all_addresses()
并用下面的代码替换
adapters = [x for x in ifaddr.get_adapters()
if not "Microsoft Wi-Fi Direct Virtual Adapter" in x.nice_name
and not "Bluetooth Device" in x.nice_name]
return list(set(addr.ip for iface in adapters for addr in iface.ips if addr.is_IPv4))
请将“Microsoft Wi-Fi Direct Virtual Adapter”和“Bluetooth Device”替换为适当的名称。
这不是一个整洁的方法,所以我愿意接受更好的答案。
推荐阅读
- php - 将样式表上传到 wordpress 时如何修复 Mimetype 错误?
- php - 如何在 php HTML 电子邮件中包含图像?
- numpy - 如何从 Python 3 中的嵌套字典创建树可视化
- r - 如何在 ggplot2 3.3.0 中为构面添加通用标签?
- javascript - 一切都来自本地主机时的跨域对象
- c++ - 我错过了什么吗?
- c++ - 如何在 macOS 上使用带有 cmake 的外部 C++ 库?
- android - Android Studio 不会按字典顺序重新排列导入
- javascript - Angular 2,动态组件的子组件不渲染
- javascript - 覆盖“Safari无法打开页面,因为地址无效”