idol32
Пользователи-
Постов
24 -
Зарегистрирован
-
Посещение
-
Kodi 21 / Python 3.8 — ошибка 'type' object is not subscriptable (urllib3) Коллеги, делюсь решением распространённой ошибки при запуске аддона. Симптом В логе Kodi появляется ошибка: EXCEPTION Thrown (PythonToCppException) : Error Type: <class 'TypeError'> Error Contents: 'type' object is not subscriptable Traceback (most recent call last): File "...default.py", line 26, in <module> from resources.lib import body as cbBody File "...resources\lib\body.py", line 19, in <module> import ... requests File "...vendor\urllib3\exceptions.py", line 26, in <module> _TYPE_REDUCE_RESULT = tuple[typing.Callable[..., object], tuple[object, ...]] TypeError: 'type' object is not subscriptable Причина Kodi 21 (Omega) на Windows использует Python 3.8.15. В новых версиях urllib3 (2.x) используется синтаксис tuple[...] Это PEP 585 (generic builtins), который работает только в Python 3.9+. В Python 3.8 такой код вызывает: TypeError: 'type' object is not subscriptable То есть проблема не в аддоне как таковом, а в несовместимости версии urllib3 с Python внутри Kodi. Рабочие решения Вариант 1 (чистый, если есть доступ к Kodi repository) Использовать зависимости: <requires> <import addon="script.module.requests"/> </requires> Но этот способ работает только если в Kodi доступен репозиторий Python libraries. Вариант 2 (самый быстрый и гарантированный — я использовал его) Собрать совместимые версии requests и urllib3 вручную и положить их в vendor. Нужны версии: requests==2.31.0 urllib3==1.26.18 ← важно (НЕ 2.x) Шаги: Установить Python на Windows Выполнить: python -m pip install "requests==2.31.0" "urllib3==1.26.18" -t kodi_vendor Перенести содержимое kodi_vendor в: Kodi\addons\plugin.video.cbilling.iptv\resources\lib\vendor\ Убедиться, что в body.py есть: import os import sys VENDOR_DIR = os.path.join(os.path.dirname(__file__), "vendor") if VENDOR_DIR not in sys.path: sys.path.insert(0, VENDOR_DIR) (в моём случае подобный код уже был — добавлять ничего не пришлось) После этого аддон запускается корректно. Почему ошибка встречается часто Потому что: многие разработчики обновляют requests pip автоматически подтягивает urllib3 2.x а Kodi продолжает использовать Python 3.8 И на Windows это проявляется особенно часто. Итог Если видите в логе: TypeError: 'type' object is not subscriptable ... urllib3 ... Почти наверняка у вас установлен urllib3 2.x. Используйте urllib3 1.26.x, и проблема исчезнет. Если автору аддона нужно — можно явно зафиксировать версию urllib3<2 в поставляемом vendor, чтобы избежать этой массовой проблемы. Надеюсь, кому-то это сэкономит пару часов жизн
-
Да, такой VPN. Я все починил. Пишу это не для вас, а для других пользователей, которые сами, как и я, будут решать свои проблемы. Дело было в ControlD. При переходе на Google DoH все нормализовалось.
-
Да, плейлист загружается, но адрес его другой - https://247on.cc/playlist/.... Получить ссылку на другой не могу - не могу получить доступ к cbilling.eu/зеркалу.
-
Дополнение к предыдущему посту. В "CBilling.TV IPTV player" изменил сервер потокового видео на s04. Результат: ТВ в нем заработало, но большинство каналов (на вскидку более 95%) отсутствуют. Например, в группе познавательных только два, в общероссийских - один и т.д.
-
Написал роботу, получил очередную копию предыдущих писем. Результат ровно такой же: тот же адрес и та же ошибка. В сухом остатке: основной адрес cbilling.eu через VPN не доступен и не доступны все каналы для просмотра на s06.
-
Да, я и написал поэтому, что использую s06 (Россия). Хотел зайти в личный кабинет и проверить - но ничего не работает и "персональное" зеркало тоже...
-
Здравствуйте! Не работают каналы на Kodi (IPTV Simple Client). Еще пару дней назад работало теперь нет. Использую s06. CBilling.TV IPTV player тоже отказывается работать, пишет "Get URL Error". CBilling.eu и зеркало (присланное роботов) не открываются: CBilling.eu - ERR_CONNECTION_RESET, зеркало - 403 Forbidden Request forbidden by administrative rules. Логин b96dd39, захожу через VPN. Другое (например, youtube.com) через него работает.
-
Только танцев с бубнами нам сейчас не хватает. В настойках давно ничего не меняется. Смотреть могу на разных устройствах, от ноутбука через веб-плеер ott-play до коди + тв на другом компьютере.
-
Я же писал, что проблема со всеми серверами от s01 до s07. На s06 скорость чуть больше, чем на других вот и все. Я хочу просто понять, что произошло и что делать дальше.
-
До сегодняшнего сбоя все работало, а теперь не работает. Остальное всё как работало, так и работает, но только не вы. В чем дело, в провайдере? Он то здесь причем? У него ничего не менялось...
-
После "кратковременного отключения" скорость до ваших серверов упала ниже критически допустимого значения. Вот данные до s06.iptvx.tv:88 На остальных адресах дела еще хуже...
-
Раньше использовал кардшаринг и звук на большом числе каналов был 5.1. При переходе на IPTV звук стал 2.0 стерео везде, включая и те каналы, которые транслируются со спутника с дорожкой 5.1. Это нормально или что-то не так настроено/не включено и др.? Пакет IPTV [IPTV HD+SD], для просмотра использую KODI + simple IPTV, пробовал рекомендованный плагин - звук всегда только 2.0 стерео.
-
Dns не менял (стоял 8.8.8.8), ip сервера остался прежним, но всё заработало.