proxybroker2
proxybroker2 copied to clipboard
When running on Windows 11, the following error occurs. how to fix it?
When running on Windows 11, the following error occurs. how to fix it?
PS D:\GitRepo\PythonTest> & d:/GitRepo/PythonTest/.venv/Scripts/python.exe d:/GitRepo/PythonTest/ProxyBroker2.py
Traceback (most recent call last):
File "d:\GitRepo\PythonTest\ProxyBroker2.py", line 11, in
my guess is that you would need to use asyncio.new_event_loop()
instead of asyncio.get_event_loop()
.
But instead of guessing, giving a minimally reproducible example would be more beneficial.
I use Windows. I'm using the sample code from the readme:
import asyncio
from proxybroker import Broker
async def show(proxies):
while True:
proxy = await proxies.get()
if proxy is None: break
print('Found proxy: %s' % proxy)
proxies = asyncio.Queue()
broker = Broker(proxies)
tasks = asyncio.gather(
broker.find(types=['HTTP',], limit=10),
show(proxies))
loop = asyncio.get_event_loop()
loop.run_until_complete(tasks)
I get the following error:
PS D:\GitRepo\PythonTest> & d:/GitRepo/PythonTest/.venv/Scripts/python.exe d:/GitRepo/PythonTest/ProxyBroker2.py
Traceback (most recent call last):
File "d:\GitRepo\PythonTest\ProxyBroker2.py", line 11, in <module>
broker = Broker(proxies)
^^^^^^^^^^^^^^^
File "D:\GitRepo\PythonTest\.venv\Lib\site-packages\proxybroker\api.py", line 69, in __init__
self._resolver = Resolver(loop=self._loop)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\GitRepo\PythonTest\.venv\Lib\site-packages\proxybroker\resolver.py", line 48, in __init__
self._resolver = aiodns.DNSResolver(loop=self._loop)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\GitRepo\PythonTest\.venv\Lib\site-packages\aiodns\__init__.py", line 55, in __init__
raise RuntimeError(
RuntimeError: aiodns needs a SelectorEventLoop on Windows. See more: https://github.com/saghul/aiodns/issues/86
PS D:\GitRepo\PythonTest>
I studied the link (https://github.com/saghul/aiodns/issues/86), but it is not clear how to fix it! I ask for help in fixing the problem!
Does this problem have a solution?
yes https://github.com/bluet/proxybroker2/pull/147#issuecomment-1899611216
it is the only workaround for now
What exactly should be done? In the provided answer, it is not clear exactly what actions are needed!
Please look at this example
PS D:\GitRepo\PythonTest> & d:/GitRepo/PythonTest/.venv/Scripts/python.exe d:/GitRepo/PythonTest/ProxyBroker2.py D:\GitRepo\PythonTest.venv\Lib\site-packages\proxybroker\providers.py:77: DeprecationWarning: The object should be created within an async function async with aiohttp.ClientSession( D:\GitRepo\PythonTest.venv\Lib\site-packages\aiohttp\connector.py:776: DeprecationWarning: The object should be created within an async function super().init( D:\GitRepo\PythonTest.venv\Lib\site-packages\aiohttp\cookiejar.py:84: DeprecationWarning: The object should be created within an async function super().init(loop=loop)
What python version are you running?
3.12
oh i forgot, my pull request haven't been merged yet. PR #147 will fix this.
what specific action should be done? Nothing is clear in this discussion
add the following code after you import asyncio
if sys.platform == 'win32':
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())