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

DigitalOcean Apps中Django集成Poppler遇PDFInfoNotInstalledError求助

解决DigitalOcean Apps部署Django时的Poppler依赖问题

第一步:正确配置Aptfile

DigitalOcean Apps支持通过Aptfile安装系统级依赖,但很多人会搞错包名:

  • 在项目根目录创建无后缀的Aptfile文件
  • 文件内只写一行:
    poppler-utils
    
    (必须是poppler-utils,不是单纯的poppler,这是核心误区)

第二步:确保PATH包含Poppler路径

Python依赖库需要找到Poppler的二进制文件,DigitalOcean Apps中apt安装的包默认在/app/.apt/usr/bin目录:

  • 两种配置方式二选一:
    1. 在Django的settings.py开头添加:
      import os
      os.environ['PATH'] += os.pathsep + '/app/.apt/usr/bin'
      
    2. 在DigitalOcean Apps控制台的「环境变量」里添加:
      PATH=/app/.apt/usr/bin:$PATH
      

第三步:修正requirements.txt

Poppler是系统包,不能写进requirements.txt,只保留你的Python依赖:

pdfplumber==0.10.3
# 其他Django相关依赖...

备选方案:自定义构建命令

如果默认构建流程没处理Aptfile,在DigitalOcean Apps的「构建设置」里替换默认命令为:

apt-get update && apt-get install -y poppler-utils && pip install -r requirements.txt

验证是否生效

部署后可以加个测试视图确认:

from django.http import HttpResponse
from pdfplumber import utils

def test_poppler_status(request):
    try:
        utils.get_pdfinfo_path()
        return HttpResponse("Poppler 已正常加载")
    except Exception as e:
        return HttpResponse(f"加载失败:{str(e)}")

访问这个视图就能知道Poppler是否被正确识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:22:36