我正在使用 pyinstaller 创建 python 脚本的可执行文件。
在脚本中我使用这些导入:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
etc...
问题是,运行
pyinstaller myscript.py
时,会导致包含 Firefox,而不是 Chrome。在结果文件夹 c:...\dist\myscript\selenium\webdriver 中有一个 firefox 文件夹,因此它只是跳过 chromedriver,这对我来说是一个严重的问题,因为该脚本需要使用 Chrome 运行。--hidden-import MODULENAME
标签添加到命令中,但 chromedriver.exe 不是模块......
谢谢
它应该作为二进制文件添加,因为它是一个二进制文件...
因此,需要一个自定义规范文件,其中应定义本地系统上 chromedriver 的路径以及相对于 dist\myscript 的所需位置,因此它看起来像这样:
.....
a = Analysis(['myscript.py'],
pathex=['path\\to\\my\\script'],
binaries=[ ('path\\to\\my\\chromedriver.exe', '.\\selenium\\webdriver') ],
datas=None,
....
然后使用此规范文件运行 pyinstaller:
pyinstaller myscript.spec myscript.py
我遇到了这个问题,并通过将这些代码添加到我的规范文件中来解决它
这些路径适用于 Windows 操作系统 ........................
a = Analysis(
['myproject.py'],
pathex=[],
binaries=[('C:\\chromedriver\\chromedriver.exe','Drivers')],
datas=None,
.................
然后按 Shift + 右键单击我的项目文件夹以打开 PowerShell 窗口 然后用这个
pyinstaller myproject.spec myproject.py