我正在尝试制作一个使用phantomjs exe和chromedriver exe文件的exe文件,并将那些文件包含在我用PyInstaller制作的python exe文件中。我不确定问题是PyInstaller是否没有将exe添加到正在制作的单个exe中,还是在exe中使用它们的python文件中它们的位置不正确。
以下是制作python exe的bat文件的代码:
pyinstaller --noconfirm --log-level=WARN ^
--onefile --nowindow ^
--add-data="chromedriver.exe;."^
--add-data="phantomjs.exe;." ^
Grade_Submitter.py
这是应该在主exe文件中获取phantomjs exe的代码
driver = webdriver.PhantomJS("/phantomjs.exe")
感谢您的帮助。我相信主要问题是在exe中访问文件,而我的程序没有在exe外部查找文件。但是,我不太确定如何获取它以从exe检索文件。如果文件位于exe之外的同一个文件夹中,则我的程序可以运行,但是我需要它来使所有内容仅使用一个文件而不是多个文件。
答案 0 :(得分:0)
你们说得对,我对Bundling data files with PyInstaller的关注不够。给定的解决方案之一对我有用。另外,给出的权限错误只是我将.exe文件添加为数据文件而不是二进制文件。