You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyInstaller打包exe遇ModuleNotFoundError: 'fake_useragent.data'求助

解决PyInstaller打包后fake_useragent无法运行的问题

方案一:手动包含数据文件并指定路径

  1. 找到本地fake_useragent的data目录,路径通常是Python安装目录/Lib/site-packages/fake_useragent/data,复制其中的browsers.json到你的项目根目录。
  2. 修改代码中初始化UserAgent的部分,显式指定数据文件路径:
from fake_useragent import UserAgent
# 指向项目根目录的browsers.json
ua = UserAgent(path="browsers.json")
  1. 使用PyInstaller打包时,通过--add-data参数将browsers.json包含进打包文件:
# Windows系统用分号分隔路径
pyinstaller --onefile --add-data "browsers.json;." your_script.py
# Mac/Linux系统用冒号分隔路径
pyinstaller --onefile --add-data "browsers.json:." your_script.py

方案二:自定义User-Agent列表(无需依赖fake_useragent)

直接维护一个常用的User-Agent列表,随机选择使用,彻底绕过fake_useragent的文件依赖问题:

import random

# 可根据目标网站补充更多不同浏览器、设备的UA
USER_AGENTS = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15",
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0",
    "Mozilla/5.0 (Linux; Android 13; SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Mobile Safari/537.36"
]

# 随机获取一个UA
random_ua = random.choice(USER_AGENTS)
# 请求时使用该UA,以requests为例
import requests
response = requests.get("目标网址", headers={"User-Agent": random_ua})

这种方法打包后无任何依赖问题,同时能有效规避基础反爬检测。

方案三:修改PyInstaller Spec文件(适合复杂项目)

如果使用spec文件进行打包,可以通过配置显式包含fake_useragent的依赖模块和数据文件:

  1. 生成初始spec文件:
pyinstaller --onefile --name your_app your_script.py
  1. 打开生成的your_app.spec文件,修改Analysis部分,添加hiddenimports和datas:
a = Analysis(
    ['your_script.py'],
    pathex=[],
    binaries=[],
    # 添加fake_useragent.data到隐式导入
    hiddenimports=['fake_useragent.data'],
    # 添加browsers.json到打包资源,替换为你本地的文件路径
    datas=[('C:/Python/Lib/site-packages/fake_useragent/data/browsers.json', 'fake_useragent/data')],
    ...
)
  1. 使用spec文件重新打包:
pyinstaller your_app.spec

内容的提问来源于stack exchange,提问作者Jung Woo Sohn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:47:55