1. 场景
使用Faker-UserAgent库生成UserAgent,在.py下运行的时候正常,但是使用Pyinstaller打包成exe后,执行的时候会报异常:Data list is empty。
2. 原因
未知,可能跟Pyinstaller有关
3. 解决方法
在Pyinstaller打包的时候加入参数:--collect-datas=fake_useragent,如:
pyinstaller --onefile --collect-datas=fake_useragent myprg.py
该方法是官方GitHub中解决MacOS下使用的(Issue链接:https://github.com/fake-useragent/fake-useragent/issues/155),我在Windows11中使用这个参数,也成功解决了这个问题。