Здравствуйте. Задание для того, кто очень много собирал проектов python в .EXE и имеет в этом большой опыт. Скриншоты прикреплены. У меня есть исходник, в котором разные скрипты. А также билдер, который их собирает в один билд (.exe). Добавили к общим скриптам библиотеку selenium-wire==5.1.0 и при сборке билда возникают ошибки, предупреждения. Интересный факт! Проект большой, собирался с более чем 50 различными библиотеками, и конфликтов таких не было. Также отмечу, что есть и обычный Selenium, который собирался без проблем, а также stealth, это типа бинарник. И кроме зависимостей, которые в файле: requirements.txt для его сборки добавил инфу хуками каким-то это называют, в myapp.spec дописывал его пути, где находится библиотека и так далее. И тоже без конфликтов это все собиралось. А этот selenium-wire какой-то прям как очень особенный. Разработчик пытался в этих конфликтах удалить библиотеки, которые конфликтовали, но это глупо, потому что они нужны! А когда просто их версию обновляли, то в консоли, где собирается билд, по кругу гоняло нас, то удалите, то поставьте то, и так далее, типа как цикл какой-то. Короче! Моя мысль такая, что такую вещь как этот: selenium-wire нужно не билдом собирать, а как-то всунуть в .exe. Или как-то правильно его собрать. Да, в консоли есть нажмите enter игнорировать конфликт и все соберется, и по сути должно все работать. Потому что! Я вообще не понимаю, в редакторе, где запускается проект, никаких конфликтов нет. А тут какие-то конфликты. К сожалению, просто что-то мне написать в моих 2 файлах, которые отвечают за сборку, и отдать мне назад вряд ли поможет. Поэтому нужно вам подключиться ко мне, как часто делают разные разработчики, и посмотреть на эту проблему. Потому что сбрасывать код с разными библиотеками и своими файлами, который больше 2 ГБ, я точно не буду. Это бред! Дай работу тут, больше не код писать, а подумать, и правильно условия прописать, чтобы собрался билд.
Слова от специалиста, который делал мне новую функцию и добавил библиотеку selenium wire.
Обеспечить корректную работу Python-приложения с использованием selenium-wire==5.1.0, устранить все конфликты зависимостей, которые мешают компиляции в .exe, несмотря на то, что запуск скрипта работает корректно.
Используется библиотека:
selenium-wire==5.1.0
Также используются:
httpcore==0.17.3
httpx==0.24.1
h2>=4.0
googletrans==3.1.0a0
На этапе запуска скрипта все работает, но во время сборки .exe (через pyinstaller) возникают ошибки зависимостей из-за:
конфликтов между httpx и httpcore
конфликтов между версиями h2 — 3.* и 4.*
googletrans, у которого в PyPI-версии ошибочная зависимость от устаревшего httpx==0.13.3
selenium-wire==5.1.0 требует:
h2 >= 4.0
А httpx==0.13.3 (ошибочно зависимый для googletrans) требует:
httpcore==0.9.*
httpcore==0.9.* требует:
h2==3.*
Конфликт: невозможно одновременно использовать h2==4.* и h2==3.*