How to include chromedriver with pyinstaller?
It should be added as a binary file, since it is a binary file...
So a custom spec file needed where the chromedriver's path on the local system and the desired location relative to the dist\myscript should be defined, so it looks something like this:
.....
a = Analysis(['myscript.py'],
pathex=['path\\to\\my\\script'],
binaries=[ ('path\\to\\my\\chromedriver.exe', '.\\selenium\\webdriver') ],
datas=None,
....
And then run the pyinstaller with this spec file: pyinstaller myscript.spec myscript.py
Comments
-
monami almost 2 years
I am using pyinstaller to create an executable of my python script.
In the script I'm using these imports:from selenium import webdriver from selenium.webdriver.chrome.options import Options etc...
The problem is, when running
pyinstaller myscript.py
, it will result in including Firefox, instead of Chrome. In the result folder c:...\dist\myscript\selenium\webdriver there is a firefox folder, so it is simply skipping chromedriver, and it is a serious problem for me, because the script needs to run with Chrome.
There is only a few questions around this topic, but there is no answer to solve the issue.
I was thinking on adding the--hidden-import MODULENAME
tag to the command, but chromedriver.exe is not a module... Thanks -
Phillip over 7 yearsI have a question regarding your answer
-
Phillip over 7 yearsHere is an updated question
-
Hrvoje T over 5 yearsHere is pyinstaller example explained in details. hackernoon.com/…. And here how packaging works python-packaging.readthedocs.io/en/latest/everything.html
-
Heinz almost 5 yearsHow about firefox webdriver?