@SunUp
Я не волшебник, я ещё только учусь

Как открыть дефолтный браузер из приложения на wxPython без консоли?

Есть приложение с GUI на wxPython Phoenix собранное в 1 файл exe для Windows с помощью PyInstaller с параметрами:
venv\Scripts\pyinstaller app.pyw --clean --onefile --windowed --add-binary icon.ico;. --add-binary logo-iconic.ico;. --add-binary vendor.exe;. --icon logo-iconic.ico --version-file file_version_info.txt

Вопрос: как открыть дефолтный браузер с нужной страницей из этого приложения?
Что пробовал делать:
1.
wx.LaunchDefaultBrowser('https://yandex.ru')
2.
subprocess.Popen('start explorer https://yandex.ru')

3.
Решение из wiki PyInstaller
4.
Собрать exe без параметра --windowed
Первые три варианта не работают, с четвёртым всё получается, но постоянно в фоне висит ненужное окно консоли.
Загвоздка в том, что по ТЗ видимая консоль не допускается, как быть? Поддержка Linux не требуется, файл vendor.exe, включённый в бинарник запускается без консоли.
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
@DollaR84
Дефолтный браузер из своих програм открываю webbrowser:
import webbrowser
webbrowser.open('https://yandex.ru')


P.S.: насчет опций pyinstaller. Не знаю равноценные это опции или нет, но я при сборке использую --noconsole, а не --windowed

Итого, webbrowser и --noconsole точно дает результат открытия браузера из приложения на wx, собранного pyinstaller, без висящего на фоне окна консоли.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы