Откройте браузер по умолчанию из приложения wx Python GUI, упакованного PyInstaller - PullRequest
1 голос
/ 30 марта 2020

У меня есть Python 3.7.5 приложение с wx Python Phoenix GUI, упакованное в .exe PyInstaller 3.6. Замораживание было с такими параметрами:

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

Я пытаюсь открыть ссылку (например, https://google.com) на нажатие кнопки в окне приложения без отображения окна консоли.

Что я пробовал:

  • wx.LaunchDefaultBrowser('https://google.com')
  • subprocess.Popen('C:\\Windows\\explorer.exe https://google.com')
  • Рецепт из вики PyInstaller

Если я удаляю --windowed из параметров PyInstaller, приложение работает как ожидалось с wx.LaunchDefaultBrowser('https://google.com'), но при запуске приложения отображается окно консоли. Если перенаправить stdout и stderr в файл, как в рецепте PyInstaller, я ничего не вижу, файл не создан.

Как открыть браузер ОС по умолчанию в PyInstaller упакованном приложении Python с wx Python GUI без появления консоли

1 Ответ

0 голосов
/ 31 марта 2020

Вы можете использовать модуль webbrowser, часть stdlib:

from webbrowser import open
open('http://google.com')

Это откроет google.com в браузере пользователя по умолчанию.

...