TikTok-Api
                                
                                 TikTok-Api copied to clipboard
                                
                                    TikTok-Api copied to clipboard
                            
                            
                            
                        [BUG] - RuntimeError: This event loop is already running
Fill Out the template :)
Describe the bug
I believe have installed all required library and still getting runtime error. When I run the code (pasted below), it gives me "This event loop is already running"
The buggy code
!pip install TikTokApi import pandas as pd
from TikTokApi import TikTokApi api = TikTokApi() n_videos = 100 username = 'washingtonpost' user_videos = api.byUsername(username, count=n_videos)
Error Trace (if any)
RuntimeError: This event loop is already running
Desktop (please complete the following information):
- OS: macOS Monterey 12.3.1
Additional context
Add any other context about the problem here.
I get the same error in Google Colab
` try: import TikTokApi except: from pip._internal.main import main as pip pip(["install", "TikTokApi"]) import TikTokApi
!python -m playwright install
with TikTokApi() as api: tag = api.hashtag(name="funny")
print(tag.info())
for video in tag.videos():
    print(video.id)
`
Same problem in a Jupyter notebook.
from TikTokApi import TikTokApi
from TikTokApi import TikTokApi
api = TikTokApi()
for trending_video in api.trending.videos(count=50):
    # Prints the author's username of the trending video.
    print(trending_video.author.username)
Outputs
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Input In [2], in <cell line: 3>()
      1 from TikTokApi import TikTokApi
----> 3 api = TikTokApi()
      5 for trending_video in api.trending.videos(count=50):
      6     # Prints the author's username of the trending video.
      7     print(trending_video.author.username)
File ~/opt/anaconda3/lib/python3.9/site-packages/TikTokApi/tiktok.py:119, in TikTokApi.__init__(self, logging_level, request_delay, custom_device_id, generate_static_device_id, custom_verify_fp, use_test_endpoints, proxy, executable_path, *args, **kwargs)
    116 self.logger.setLevel(logging_level)
    118 with _thread_lock:
--> 119     self._initialize(
    120         request_delay=request_delay,
    121         custom_device_id=custom_device_id,
    122         generate_static_device_id=generate_static_device_id,
    123         custom_verify_fp=custom_verify_fp,
    124         use_test_endpoints=use_test_endpoints,
    125         proxy=proxy,
    126         executable_path=executable_path,
    127         *args,
    128         **kwargs,
    129     )
File ~/opt/anaconda3/lib/python3.9/site-packages/TikTokApi/tiktok.py:163, in TikTokApi._initialize(self, **kwargs)
    158     self._custom_device_id = "".join(
    159         random.choice(string.digits) for num in range(19)
    160     )
    162 if self._signer_url is None:
--> 163     self._browser = asyncio.get_event_loop().run_until_complete(
    164         asyncio.gather(browser.create(**kwargs))
    165     )[0]
    167     self._user_agent = self._browser.user_agent
    169 try:
File ~/opt/anaconda3/lib/python3.9/asyncio/base_events.py:623, in BaseEventLoop.run_until_complete(self, future)
    612 """Run until the Future is done.
    613 
    614 If the argument is a coroutine, it is wrapped in a Task.
   (...)
    620 Return the Future's result, or raise its exception.
    621 """
    622 self._check_closed()
--> 623 self._check_running()
    625 new_task = not futures.isfuture(future)
    626 future = tasks.ensure_future(future, loop=self)
File ~/opt/anaconda3/lib/python3.9/asyncio/base_events.py:583, in BaseEventLoop._check_running(self)
    581 def _check_running(self):
    582     if self.is_running():
--> 583         raise RuntimeError('This event loop is already running')
    584     if events._get_running_loop() is not None:
    585         raise RuntimeError(
    586             'Cannot run the event loop while another loop is running')
RuntimeError: This event loop is already running
Just experienced this error as well.
It seems just initializing the class triggers the error. Weird.
Same error here!
V6 fully async should be fine