【发布时间】:2017-03-20 14:54:45
【问题描述】:
我正在寻找为我创建内部 API,这些 API 将生成 pdf 作为 API 调用并使用 chalice 将其部署为无服务器。 到目前为止,我的代码遇到了无法调试的 500 错误:
from chalice import Chalice, Response
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from reportlab.lib.pagesizes import landscape
from io import BytesIO
app = Chalice( app_name = 'printago' )
@app.route( '/' )
def index( ) :
buff = BytesIO( )
# p = canvas.Canvas( 'someName.pdf', pagesize = landscape( letter ) )
p = canvas.Canvas( buff, pagesize = landscape( letter ) )
p.setFont( 'Helvetica', 40, leading = None )
p.drawCentredString( 415, 300, 'Hallo YOU' )
p.showPage( )
p.save( )
pdf = buff.getvalue( )
buff.close( )
return Response( pdf, status_code = 200, headers = { 'Content-Type' : 'application/pdf' } )
我做错了什么?
我有这个项目的虚拟环境,通过pip在里面安装reportlab,打开调试后出现错误无法导入模块
'app': No module named reportlab.pdfgen
我能够通过将 reportlab 添加到 requirments.txt 文件来传递“无模块”错误,但是在此之后还有其他与 JSON 序列化和 utf-8 相关的错误
An error occurred during JSON serialization of response: 'utf8' codec can't decode byte 0x93 in position 10: invalid start byte
我想补充一点,当使用命令 chalice local 进行本地测试时,它按预期工作
【问题讨论】:
标签: python amazon-web-services pdf serverless-architecture chalice