Webdriverprefs.json not found - pyinstaller
I have a python program that uses the selenium package and when building an exe from that with pyinstaller
it, it creates the exe correctly. When trying to open firefox from this application, I got the following error:
IOError: [Errno 2] No such file or directory: 'C: \\ users \\ mohamed \\ Temp \\ _ MEI622 \\ selenium \\ webdriver \\ firefox \\ webdriver_prefs.json'
I found this solution, but it doesn't work for me:
Py2exe does not copy webdriver_prefs.json file into assemblies
Any ideas?
I found a solution for the same, when freezing exe scripts do not use -onefile, use -onedir instead, it will generate one folder for all files and then copy selenium folder to path c: \ python27 \ lib \ site-packages \ selenium to your application folder and it works correctly
just include these (.json and .xpi) files as arbitrary files in your .spec file.
here is what worked for me (you may have to change the paths):
needed_selenium_files = [(r'selenium\webdriver\firefox\webdriver_prefs.json',
r'C:\Anaconda\Lib\site-packages\selenium\webdriver\firefox\webdriver_prefs.json',
'DATA'),
(r'selenium\webdriver\firefox\webdriver.xpi',
r'C:\Anaconda\Lib\site-packages\selenium\webdriver\firefox\webdriver.xpi',
'DATA')]
and then:
coll = COLLECT(exe, a.binaries, needed_selenium_files, ...)
more on the PyInstaller manual: http://pythonhosted.org/PyInstaller/#toc-class-table-of-contents and also http://pythonhosted.org/PyInstaller/#adding-files-to-the-bundle
In my experience pyinstaller always comes up with something when building executables. I suggest you py2exe instead .