How to include chromedriver with pyinstaller?
<p>I am using pyinstaller to create an executable of my python script.<br>
In the script I'm using these imports:</p>

<pre><code>from selenium import webdriver
from selenium.webdriver.chrome.options import Options
etc...
</code></pre>

<p>The problem is, when running <code>pyinstaller myscript.py</code> , 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.<br>
There is only a few questions around this topic, but there is no answer to solve the issue.<br>
I was thinking on adding the <code>--hidden-import MODULENAME</code> tag to the command, but chromedriver.exe is not a module...
Thanks</p>

<p>It should be added as a binary file, since it is a binary file...<br>
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:<br></p>

<pre><code>.....
a = Analysis(['myscript.py'],
             pathex=['path\\to\\my\\script'],
             binaries=[ ('path\\to\\my\\chromedriver.exe', '.\\selenium\\webdriver') ],
             datas=None,
....
</code></pre>

<p>And then run the pyinstaller with this spec file: <code>pyinstaller myscript.spec myscript.py</code></p>

python windows selenium selenium-chromedriver pyinstaller