sammchardy / python-binance

Binance Exchange API python implementation for automated trading
https://python-binance.readthedocs.io/en/latest/
MIT License
5.88k stars 2.2k forks source link

when i run the Simple async example, I got this error #838

Open isCopyman opened 3 years ago

isCopyman commented 3 years ago

Simple async example

api_key = ' ',
api_secret=' '
import asyncio
from binance import AsyncClient
async def main():
    client = await AsyncClient.create(api_key,api_secret)
    exchange_info = await client.get_exchange_info()
    tickers = await client.get_all_tickers()
if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

Traceback (most recent call last): File "D:/Seafile/trading/binance_trading/main.py", line 17, in loop.run_until_complete(main()) File "C:\ProgramData\Anaconda3\lib\asyncio\base_events.py", line 616, in run_until_complete return future.result() File "D:/Seafile/trading/binance_trading/main.py", line 10, in main client = await AsyncClient.create(api_key,api_secret) File "C:\ProgramData\Anaconda3\lib\site-packages\binance\client.py", line 6422, in create await self.ping() File "C:\ProgramData\Anaconda3\lib\site-packages\binance\client.py", line 6538, in ping return await self._get('ping', version=self.PRIVATE_API_VERSION) File "C:\ProgramData\Anaconda3\lib\site-packages\binance\client.py", line 6503, in _get return await self._request_api('get', path, signed, version, kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\binance\client.py", line 6466, in _request_api return await self._request(method, uri, signed, kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\binance\client.py", line 6447, in _request async with getattr(self.session, method)(uri, **kwargs) as response: File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\client.py", line 1117, in aenter self._resp = await self._coro File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\client.py", line 619, in _request break File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\helpers.py", line 656, in exit raise asyncio.TimeoutError from None asyncio.exceptions.TimeoutError Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001AF0989D160>

PiyushDixit96 commented 3 years ago

please try this

api_key = ' ',
api_secret=' '
import asyncio
from binance import AsyncClient
async def main():
    client = await AsyncClient.create(api_key,api_secret)
    exchange_info = await client.get_exchange_info()
    tickers = await client.get_all_tickers()
    #add this 
    await client.close_connection()
if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())
isCopyman commented 3 years ago

please try this

api_key = ' ',
api_secret=' '
import asyncio
from binance import AsyncClient
async def main():
    client = await AsyncClient.create(api_key,api_secret)
    exchange_info = await client.get_exchange_info()
    tickers = await client.get_all_tickers()
    #add this 
    await client.close_connection()
if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

This doesn't work. I add tdl='us' to the create function and it works.

async def main():
    client = await AsyncClient.create(api_key,api_secret,tld='us')
    exchange_info = await client.get_exchange_info()
    tickers = await client.get_all_tickers()

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())
PiyushDixit96 commented 3 years ago

please try this

api_key = ' ',
api_secret=' '
import asyncio
from binance import AsyncClient
async def main():
    client = await AsyncClient.create(api_key,api_secret)
    exchange_info = await client.get_exchange_info()
    tickers = await client.get_all_tickers()
    #add this 
    await client.close_connection()
if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

This doesn't work. I add tdl='us' to the create function and it works.

async def main():
    client = await AsyncClient.create(api_key,api_secret,tld='us')
    exchange_info = await client.get_exchange_info()
    tickers = await client.get_all_tickers()

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

ok. happy coding

Starfarer69 commented 3 years ago

please try this

api_key = ' ',
api_secret=' '
import asyncio
from binance import AsyncClient
async def main():
    client = await AsyncClient.create(api_key,api_secret)
    exchange_info = await client.get_exchange_info()
    tickers = await client.get_all_tickers()
    #add this 
    await client.close_connection()
if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

Thank you! This helps