Транслирую исходники python в С через Cython, компилирую(винда), добавляю основные либы питоньего интерпретатора - получаю портабельный exe с либами в одной папке. Проблема: C:\Users\гыук\program>C:\MinGW\bin\gcc program.c -O2 -IC:\Python27\include -LC:\Python27\libs -lpython27 rt.res -o program.exe после сбора exe, при открытие программы открывается дополнительное cmd окошко. Компиляю с параметрами -Wl,--subsystem,windows (что бы его убрать) - окошко открывается и сразу закрывается, так может быть по 2-3 раза, но это ладно, после запускается. В программе, когда стартует phantomjs открывается еще одно cmd оконо - там загружается phantomjs. Как его убрать? При запуске чистого py никаких консольных окон нет. Вроде были на стаковерфлоу упоминание - консольные окна открываются только под С кодом. нагуглил для С делают: var driverService =PhantomJSDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow=true; var driver =newPhantomJSDriver(driverService); У меня пайтон - пробовал: DesiredCapabilities.PHANTOMJS["HideCommandPromptWindow"] = "True" не помогло. Есть идеи? В питоньих доках "HideCommandPromptWindow" не нашел.
Я не знаю как там работает код, но может нужно указать параметр какой-то при запуске фантома из скрипта, чтобы не создавалось окно? Можно попробовать запускать его через psexec с флагом -d(вроде), от Руссиновича, тогда приложение запускается в фоне без всяких окошек. Но вообще, нужно смотреть то место где фантомжс запускается.
У Лутса в учебнике что-то такое было насчёт cmd,мол, когда сохраняешь питоновский файл с расшиирением .pyw окно cmd не появляется.