Press "Enter" to skip to content

使用pyinstaller打包软件报错:No such file or directory “\\seleniumwire\\ca.crt”

为了解决这个错误,需要告诉 pyinstaller 使用 –add-data 选项来包含两个证书文件。这样,pyinstaller 可以处理 Selenium Wire 在首次加载证书时所做的调用。(Selenium Wire 使用标准的 pkgutil.get_data() 机制来内部加载这些文件。)

解决步骤:

在当前工作目录中创建两个证书文件 ca.crt ca.key

使用 –add-data 在运行 pyinstaller 时指定这两个文件。例如:

pyinstaller --add-data 'ca.crt;seleniumwire' --add-data 'ca.key;seleniumwire' --onefile my_prog.py


(其中 my_prog.py 是你的脚本名称,按需要更改。)

一旦生成了二进制文件,你可以删除这两个本地证书文件。

如果是在 Mac/Linux 上运行,使用冒号 : 作为分隔符,例如:

pyinstaller --add-data 'ca.crt:seleniumwire' --add-data 'ca.key:seleniumwire' --onefile my_prog.py

参考资料:

https://github.com/wkeeling/selenium-wire/issues/402

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注