我写了一个小程序,使用Python中的Selenium Web Driver。当我在Spyder上运行我的程序时,它能正常工作。 然后我使用Pyinstaller制作exe文件。
pyinstaller ./main.py --onefile --noconsole --add-binary "./driver/chromedriver.exe;./driver"
但是我无法启动它,我得到了这个错误
Traceback (most recent call last):
File "noto.py", line 8, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
File "selenium\webdriver\__init__.py", line 18, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
File "selenium\webdriver\firefox\webdriver.py", line 29, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
File "selenium\webdriver\remote\webdriver.py", line 26, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
File "selenium\webdriver\remote\webelement.py", line 43, in <module>
File "pkgutil.py", line 637, in get_data
File "PyInstaller\loader\pyimod03_importers.py", line 479, in get_data
FileNotFoundError: [Errno 2] No such file or
directory:'C:\\Users\\Mon nom\\AppData\\Local\\Temp\\1\\_MEI50482\\
selenium\\webdriver\\remote\\getAttribute.js'
[28052] Failed to execute script 'noto' due to unhandled exception!
实际上,我没有这个目录,因为selenium安装在以下路径: C:\Users\Mon nom\Anaconda3\Lib\site-packages\selenium\webdriver\remote,而我有getAttribute.js文件。
是否有人有想法? :)
--collect-data selenium
- gfdswedspyinstaller ./main.py --collect-data selenium
。这是一个pyinstaller开关,用于收集包数据文件,例如selenium\webdriver\remote\getAttribute.js
。您可以在此处查看文档:https://pyinstaller.readthedocs.io/en/stable/usage.html#cmdoption-collect-data - gfdswedsMessage: 'chromedriver.exe' executable needs to be in PATH
为了提供信息,我执行了:pyinstaller ./noto.py --onefile --add-binary "./driver/chromedriver.exe;./driver" --collect-data selenium
还有,在我的.py文件中,我已经通知了:driver = webdriver.Chrome("./driver/chromedriver.exe",options=chrome_options)
- Quentin Moreau./driver/chromedriver.exe"
更改为r"C:/ etc
,然后它就可以工作了。 - Quentin Moreau