python - 使用 aws sam 时有没有办法修复 pythonpath?
问题描述
我正在尝试导入我创建的自定义模块,但它破坏了我的 API 只是为了导入它。
数据目录:
-src
--order
----__init__.py
----app.py
----validator.py
----requirments.txt
--__init__.py
在我的 app.py 我有这个代码:
import json
from .validator import validate
def handler(event, context):
msg = ''
if event['httpMethod'] == 'GET':
msg = "GET"
elif event['httpMethod'] == 'POST':
pass #msg = validate(json.loads(event['body']))
return {
"statusCode": 200,
"body": json.dumps({
"message": msg,
}),
}
我收到此错误:
无法导入模块“app”:尝试使用没有已知父包的相对导入
但是,如果我from .validator import validate
从我的代码中删除第 2 行 ( ),它可以正常工作,所以问题在于import
,老实说,我不知道发生了什么。我尝试使用以下方式导入:
from src.order.validator import validate
但它也不起作用。
解决方案
能够通过以下命令生成构建来解决我的问题:sam build,然后压缩我的文件,并将其放在 aws-sam 内的根文件夹中,这不是一个很好的解决方案,因为我必须在每一个小的更改时重新构建,但是至少现在是一种解决方法
推荐阅读
- jquery - 如何在 jQuery-Validation-Engine 中验证文件名?
- string - 从字符串列表中创建图表?朱莉娅语言
- objective-c - 如何使 NSView 不响应鼠标单击事件
- templates - YAML(YAML标签)中的感叹号在使用jackson YAMLMapper进行反序列化和重新序列化时导致奇怪的行为
- apache-spark - 如何解决这种使用 Spark SQL 横向连接的情况?
- angular - 错误中的错误:[class] 和 [className] 绑定不能同时用于同一元素
- firebase - 如何减少一次又一次的firebase数据库查询?
- python - 不显式导入子包就无法访问它们
- python - 展平 JSON 响应
- angular - Angular 9 Mat 表格编辑选择单元格并绑定数据