Я использую pyinstaller для создания исполняемого файла моего скрипта Python.
Мой код выглядит так:
............
base_dir = os.path.dirname(os.path.abspath(__file__))
driver_path = os.path.join(base_dir, 'IEDriverServer.exe')
doc_path = os.path.join(base_dir, 'a.html')
driver = webdriver.Ie(executable_path=driver_path, capabilities=capabilities,
options=options)
driver.set_page_load_timeout(300)
driver.get("file:///"+doc_path)
.................
и я пытаюсь создать исполняемый файл, он отлично работает доконвертирование exe, но после процесса конвертации драйвер не запускается ..
Я попробовал некоторые решения:
pyinstaller --onedir --noconsole --noupx myscript.py
и попытался изменить service.py
селена:
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdout=self.log_file, stderr=self.log_file)
изменено на:
self.process = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=False, creationflags=0x08000000)
и пробный файл спецификации:
block_cipher = None
a = Analysis(['myscript.py'],
pathex=['path\\to\\my\\script'],
binaries=[('path\\to\\my\\IEDriverServer.exe','.\\selenium\\webdriver')],
datas=[],
hiddenimports=[],
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,
exclude_binaries=True,
name='myscriptname',
debug=False,
strip=False,
upx=True,
console=False , icon='icon.ico')
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='myscriptname')
Python: 3.6, Selenium: 3.14.0, ОС: Windows 10
Я искал около1 неделя, но не смог найти решение ..