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

OpenSuse 15.3下使用geograpy3报sqlite3无表错误如何解决

报错原因

你遇到的sqlite3.OperationalError: no such table: countries错误,是因为geograpy3安装时不会自动附带所需的地理位置SQLite数据库,需要手动执行初始化操作完成数据库的下载、建表和数据导入。

解决步骤
  • 第一步:激活项目对应的venv虚拟环境
    OpenSUSE 15.3 下执行命令:
    source /home/axel/.local/share/virtualenvs/myProject-1oLtBMPc/bin/activate
    
  • 第二步:安装nltk依赖的分词数据包
    执行命令:
    geograpy-nltk
    
  • 第三步:初始化地理位置数据库
    执行命令下载包含countries、regions、cities等表的完整地理数据库:
    python -m geograpy.locator --download
    
    该过程耗时由网络速度决定,一般需要2-5分钟,执行完成后会自动完成数据库建表和数据写入。
  • 第四步:重新运行你的测试代码即可正常输出识别到的地理位置信息。
常见异常处理

如果执行数据库下载命令时出现网络超时、路径权限错误,可按以下方案调整:

  • 先升级geograpy3到最新版本,避免旧版本的下载路径bug:
    pip install --upgrade geograpy3
    
  • 如果手动下载了数据库文件,可在代码运行前手动指定数据库路径:
    from geograpy.locator import Locator
    # 重置已有连接
    Locator.reset()
    # 替换为你的数据库文件实际存储路径
    Locator.set_db_path("/home/axel/custom_path/locations.db")
    

内容的提问来源于stack exchange,提问作者axle

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:15:00