我在转换时遇到问题。 我尝试过: 自动 py 到 exe - gui - 我添加了 chromedriver(1 个文件)||整个文件夹(site-packages\chromedriver_binary) 我创建了 .spec 文件并在那里写入:
a = Analysis(['tk.py'],
binaries=[],
datas=[("chromedriver.exe",".")])
但出现了一些错误:
File "c:\python36_32\lib\site-packages\PyInstaller\building\buildne 782, in build with open(spec, 'r') as f: FileNotFoundError: [Errno 2] No such file or directory: 'tkk.spec'
我在同一个文件夹中有 .spec、chromedriver 和 python 脚本。
当我在 Windows 7 上运行 exe 时,我得到类似的结果: https://gyazo.com/0152ca0998e2e0895ff91c9cfb7db0c2 我不知道如何停止控制台 View 以读取错误
你能告诉我我做错了什么吗?
最佳答案
保留此错误的一种方法是通过命令提示符/终端运行 tk.exe。在 Windows 上,可以通过打开 cmd、将目录更改为 tk.exe 的位置并执行 ./tk.exe
来完成此操作。这将运行可执行文件并保留输出供您查看。
据我所知(尚不清楚),您将得到 FileNotFoundError
说“Nie mozna odnalezc okreslonego pliku”,我相信是 The specified file can not be found
用英语。在此之下,selenium 引发了一个错误,指出 chromedriver.exe
找不到。
从您提供的视频来看,您使用的是onefile模式。如果您对 bundling files with PyInstaller's --onefile 做了一些研究那么你就会知道你需要具体告诉 selenium chromedriver.exe 在哪里。
我自己没有这样做,但我相信这个过程看起来像:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.binary_location = resource_path('.')
driver = webdriver.Chrome(chrome_options=options)
当然这不是全部,但这告诉 selenium 查看 chromedriver.exe 的脚本临时目录(由于 --onefile)
另外,作为一个简短的说明,您说您使用了 auto-py-to-exe。使用此工具时,它会明确告诉您在添加文件和使用 --onefile 时要考虑这一点。
关于python - 将Python脚本转换为exe并包含selenium浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53629499/