prolisk
@prolisk
Верстая. Криво.

Как запустить phantomjs python в .exe при console=False?

Генерирую .ехе через pyinstaller.
phantomjs в состав добавляю через Tree('phantomjs\\bin').
Если console=True в .spec файле (при генерации через pyinstaller) - то все работает отлично.
Если console = False, то фантом не запускается даже :(
Подскажите как это решить?
Спасибо

Полный код .spec-файла:
# -*- mode: python -*-

block_cipher = None


a = Analysis(['generate.py'],
             pathex=['D:\\python35_64'],
             binaries=[],
             datas=[],
             hiddenimports=['queue'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
		  Tree('phantomjs\\bin'),
          a.zipfiles,
          a.datas,
          name='generate',
          debug=False,
          strip=False,
          upx=True,
          console=True, icon='D:\\download\\generate.ico')
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lastedge
Возможно, что phantomjs создаёт скрытое консольное окно во время своего выполнения. Исходя из этого, использование параметра console=False, отключает окно и phantomjs. Вероятный метод обхода на python: https://stackoverflow.com/a/28661459/7646284
https://stackoverflow.com/a/37823699/7646284 - или, как вариант, использование пропатченного файла для selenium, после которого webdriver не создаёт скрытых окон. На результаты сборки, последний вариант у меня никак не повлиял
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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