在msys2 mingw64中安装python aiortc模块

2024-05-15 14:05:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在msys2环境中安装aiortc模块

(尝试使用多种方法(pip、python-m pip、git clone等)安装时,由于30000个字符的限制,尝试被删除。)

问题在于lvpxmt库不能通过pacman命令用于msys platfrom

编辑:我找到了一个解决方案,但根本没有稳定的解决方案,因此我希望您能帮助我找到更好的解决方案:

  1. 我修改了https://github.com/aiortc/aiortc/blob/main/src/_cffi_src/build_vpx.py
'''
if sys.platform == "win32":
    libraries = ["vpxmt"]
else:
    libraries = ["vpx"]
'''
libraries = ["vpx"]
  1. 我从msys终端运行pacman -S mingw-w64-x86_64-libvpx

  2. 然后是git clone、python setup.py build和python setup.py安装

完成这些步骤后,我可以成功导入aiortc模块

问题是当我运行我创建的应用程序时,当请求连接时,这里是错误

$ python "Papinhio_player.py"
======== Running on http://192.168.1.20:8080 ========
(Press CTRL+C to quit)
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
INFO: Connection(0) Remote candidate "bad08d5c-a247-46af-9354-db284c66382a.local
" could not be resolved
INFO: Connection(0) Remote candidate "5e511bd8-9188-49ac-b81a-43948ff41e3e.local
" could not be resolved
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
INFO: Connection(0) Check CandidatePair(('192.168.1.20', 55814) -> ('94.67.45.23
8', 55812)) State.FROZEN -> State.WAITING
INFO: Connection(0) Check CandidatePair(('192.168.1.5', 55817) -> ('94.67.45.238
', 55812)) State.FROZEN -> State.WAITING
INFO: Connection(0) Check CandidatePair(('192.168.1.20', 55814) -> ('94.67.45.23
8', 55812)) State.WAITING -> State.IN_PROGRESS
INFO: Connection(0) Discovered peer reflexive candidate Candidate(gjhrDZjUZ2 1 u
dp 1845504255 2a02:587:4b01:cb00:55a5:20c2:3fa6:d4e8 55813 typ prflx)
INFO: Connection(0) Check CandidatePair(('2a02:587:4b01:cb00:55a5:20c2:3fa6:d4e8
', 55815) -> ('2a02:587:4b01:cb00:55a5:20c2:3fa6:d4e8', 55813)) State.WAITING ->
 State.IN_PROGRESS
INFO: Connection(0) Check CandidatePair(('192.168.1.5', 55817) -> ('94.67.45.238
', 55812)) State.WAITING -> State.IN_PROGRESS
INFO: Connection(0) Discovered peer reflexive candidate Candidate(MmDQaPhURm 1 u
dp 1845504255 2a02:587:4b01:cb00:21e9:4ebb:b1bc:d885 55813 typ prflx)
INFO: Connection(0) Check CandidatePair(('2a02:587:4b01:cb00:21e9:4ebb:b1bc:d885
', 55816) -> ('2a02:587:4b01:cb00:21e9:4ebb:b1bc:d885', 55813)) State.WAITING ->
 State.IN_PROGRESS
INFO: Connection(0) Discovered peer reflexive candidate Candidate(rLAuRJolEm 1 u
dp 1845504255 2a02:587:4b01:cb00:c5:9a05:88d5:5216 55813 typ prflx)
INFO: Connection(0) Check CandidatePair(('2a02:587:4b01:cb00:c5:9a05:88d5:5216',
 55818) -> ('2a02:587:4b01:cb00:c5:9a05:88d5:5216', 55813)) State.WAITING -> Sta
te.IN_PROGRESS
INFO: Connection(0) Discovered peer reflexive candidate Candidate(bk4YdRMUJm 1 u
dp 1845504255 2a02:587:4b01:cb00:35b5:b57c:da87:91d4 55813 typ prflx)
INFO: Connection(0) Check CandidatePair(('2a02:587:4b01:cb00:35b5:b57c:da87:91d4
', 55819) -> ('2a02:587:4b01:cb00:35b5:b57c:da87:91d4', 55813)) State.WAITING ->
 State.IN_PROGRESS
INFO: Connection(0) Discovered peer reflexive candidate Candidate(a8E4PNjgmF 1 u
dp 1845501695 192.168.1.20 55812 typ prflx)
INFO: Connection(0) Check CandidatePair(('192.168.1.20', 55814) -> ('192.168.1.2
0', 55812)) State.WAITING -> State.IN_PROGRESS
INFO: Connection(0) Check CandidatePair(('192.168.1.20', 55814) -> ('192.168.1.2
0', 55812)) State.IN_PROGRESS -> State.SUCCEEDED
INFO: Connection(0) ICE completed
ERROR: Exception in callback _ProactorDatagramTransport._loop_reading(<_Overlapp
edF...1.20', 5353))>)
handle: <Handle _ProactorDatagramTransport._loop_reading(<_OverlappedF...1.20',
5353))>)>
Traceback (most recent call last):
  File "C:/msys64/mingw64/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "C:/msys64/mingw64/lib/python3.8/asyncio/proactor_events.py", line 578, i
n _loop_reading
    self._protocol.datagram_received(data, addr)
  File "C:/msys64/mingw64/lib/python3.8/site-packages/aioice/mdns.py", line 55,
in datagram_received
    if isinstance(message, dns.message.QueryMessage):
AttributeError: module 'dns.message' has no attribute 'QueryMessage'
INFO: Connection(0) Discovered peer reflexive candidate Candidate(Zmrv1yIrFq 1 u
dp 1845501695 192.168.1.5 55812 typ prflx)
INFO: Connection(0) Check CandidatePair(('192.168.1.5', 55817) -> ('192.168.1.5'
, 55812)) State.WAITING -> State.FAILED
INFO: Connection(0) Check CandidatePair(('192.168.1.5', 55817) -> ('192.168.1.5'
, 55812)) State.FAILED -> State.IN_PROGRESS
INFO: Connection(0) Check CandidatePair(('192.168.1.5', 55817) -> ('192.168.1.5'
, 55812)) State.IN_PROGRESS -> State.IN_PROGRESS
INFO: Connection(0) Check CandidatePair(('192.168.1.5', 55817) -> ('192.168.1.5'
, 55812)) State.IN_PROGRESS -> State.SUCCEEDED
INFO: Connection(0) Check CandidatePair(('192.168.1.5', 55817) -> ('192.168.1.5'
, 55812)) State.SUCCEEDED -> State.SUCCEEDED
ERROR: Task was destroyed but it is pending!
task: <Task pending name='Task-44' coro=<RequestHandler.start() done, defined at
 C:/msys64/mingw64/lib/python3.8/site-packages/aiohttp-4.0.0a1-py3.8-mingw.egg/a
iohttp/web_protocol.py:437> wait_for=<Future pending cb=[<TaskWakeupMethWrapper
object at 0x000002907d437a00>()]>>

我不认为这是应用程序错误,因为完全相同的应用程序在不同的环境(不同于msys)中运行时没有错误

那么,我如何解决这个错误呢? 如果需要,我可以提供我运行的aiortc应用程序代码


Tags: inpyselfinfoloopmessagelibline
1条回答
网友
1楼 · 发布于 2024-05-15 14:05:05

看起来谷歌破坏了今天(2021年8月30日)发生的google-crc32c 1.1.3更新。我有一个构建,几天前刚刚开始工作,但在github操作中出现了完全相同的错误,开始失败。我通过恢复到1.1.2解决了这个问题,它工作正常

我建议你试试

pip install google-crc32c==1.1.2 aiortc

这将为您提供一个crc32的工作版本

相关问题 更多 >