pylakey/aiotdlib

Prebuilt TDLib binary is not included for this system

mikhaillav opened this issue · 2 comments

so, i have this error then start example

Traceback (most recent call last):
  File "D:\WORK\PYTHON\telegram_api\aiotdlib\aiotdlib-main\main.py", line 46, in <module>
    asyncio.run(main())
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\asyncio\runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\asyncio\base_events.py", line 647, in run_until_complete
    return future.result()
  File "D:\WORK\PYTHON\telegram_api\aiotdlib\aiotdlib-main\main.py", line 25, in main
    client = Client(
  File "D:\WORK\PYTHON\telegram_api\aiotdlib\aiotdlib-main\aiotdlib\client.py", line 593, in __init__
    self.__tdjson = TDJson(library_path=self.settings.library_path, verbosity=self.settings.tdlib_verbosity)
  File "D:\WORK\PYTHON\telegram_api\aiotdlib\aiotdlib-main\aiotdlib\tdjson.py", line 71, in __init__
    library_path = _get_tdjson_lib_path()
  File "D:\WORK\PYTHON\telegram_api\aiotdlib\aiotdlib-main\aiotdlib\tdjson.py", line 39, in _get_tdjson_lib_path
    raise RuntimeError('Prebuilt TDLib binary is not included for this system')
RuntimeError: Prebuilt TDLib binary is not included for this system

look like it unable to find some dll files
how to fix it?

Hi! RuntimeError raises because the SYSTEM_LIB_EXTENSION dict variable doesn't contain 'win' key. not bool(extension) statement returns False.

I think aiotdlib doesn't provide support for Windows platform. Try to use Docker. That's my Dockerfile:

FROM python:3.9

WORKDIR /app

# Install dependencies for TDLib
RUN apt-get update && apt-get install -y \
    zlib1g-dev \
    libssl-dev \
    libc++-dev \
    libc++abi-dev \
    curl \
    && rm -rf /var/lib/apt/lists/*

# Install poetry
RUN curl -sSL https://install.python-poetry.org | python -
ENV PATH /root/.local/bin:$PATH

COPY poetry.lock .
COPY pyproject.toml .

# Install Python dependecies
RUN poetry install --no-dev

COPY . .

Aiotdlib does not provide prebuilt binaries for windows platform. Other platforms support will be dropped as well in future releases

You can build tdlib youself and pass its path to Client constructor as library_path parameter