Я пытаюсь создать exe-файл, который использует файлы phantomjs exe и chromedriver exe, и эти файлы будут включены в python exe, который я создаю с помощью PyInstaller. Я не уверен, что проблема в том, что PyInstaller не добавляет exes к единственному создаваемому exe или что их расположение неверно в файле python, который использует их в exe.
Вот код файла bat, который делает python exe:
pyinstaller --noconfirm --log-level=WARN ^
--onefile --nowindow ^
--add-data = "chromedriver.exe;."^
--add-data = "phantomjs.exe;." ^
Grade_Submitter.py
Вот код, который должен получить phantomjs exe в основном файле exe.
driver = webdriver.PhantomJS("/phantomjs.exe")
Я ценю помощь. Я считаю, что основная проблема заключается в доступе к файлам в exe, и моя программа не ищет файлы за пределами exe. Однако я не совсем уверен, как заставить его извлекать файлы из exe. Моя программа работает, если файлы находятся в одной папке за пределами exe, но мне нужно, чтобы все работало только с одним файлом, а не с несколькими.
Возможный дубликат Объединение файлов данных с PyInstaller (--onefile)
Нет, я ищу файл в exe. Я понимаю, что вы имеете в виду с обратной косой чертой. Я тоже пробовал использовать их, но все еще не могу найти файлы в exe-файле. Я посмотрел на вышеупомянутый вопрос, который тоже похож на мой, но он не смог мне помочь.
Хорошо, поэтому я нашел возможное решение с вышеуказанным вопросом, но каждый раз он выдает ошибку разрешения, когда driver = webdriver.PhantomJS("phantomjs.exe") пытается получить phantomjs.exe.






Вы, ребята, были правы, я недостаточно смотрел на Объединение файлов данных с помощью PyInstaller. У меня сработало одно из приведенных решений. Кроме того, ошибка разрешения, которую мне дали, заключалась в том, что я просто добавлял файлы .exe как файлы данных, а не двоичные файлы.
windows (.exe) использует \ (обратную косую черту), а не / (прямую косую черту), кроме того, вы указываете коду искать в основном корневом каталоге ОС! Вам нужен `driver = webdriver.PhantomJS (" phantomjs.exe ")`, если он находится в том же каталоге или даже использовать полный путь?