Mat*_*ron 6 python lambda package python-import
我正在用 python 编写一个 lambda 函数。这是我的项目的当前结构。
lambda/
|-- datas/
| |-- d.json
|
|-- package_name/
| |-- __init__.py
| |-- lambda_function.py # this is using d.json
| |-- a.py # this is some classes used on lambda_function
| |-- b.py # this is some basic time functions that a.py need
| |-- utils.py
|
|-- tests/
| |-- __init__.py
| |-- test_main.py
|-- setup.py
|-- README
Run Code Online (Sandbox Code Playgroud)
我对进口有一些问题。
# lambda_function.py files
from a import *
from utils import *
# a.py files
from b import *
# b.py files
from a import *
Run Code Online (Sandbox Code Playgroud)
它可以在本地运行,但不能在 aws lambda 控制台中运行。为了使其在 aws lambda 控制台中工作,我需要更改此设置:
# lambda_function.py files
from package_name.a import *
Run Code Online (Sandbox Code Playgroud)
所以我的第一个问题是:为什么?
我的第二个问题是:如果我想在tests/tests_main.py中导入package_name/a.py,我该怎么办?
我试过
from a import *
from package_name import *
Run Code Online (Sandbox Code Playgroud)
但这不起作用
即使在阅读了互联网上有关进口的内容之后,我仍然对进口的运作方式有点迷失。此外,我不确定我的项目文件结构(但我猜这是另一个主题)
您可以尝试将当前工作目录路径添加到 python 库路径
import sys
sys.path.append('../')
Run Code Online (Sandbox Code Playgroud)