我有一个具有以下布局的 Flask Restful 项目(为方便起见更改了文件名)
myproject/
__init__.py
app.py
common/
__init__.py
util.py
foo/
__init__.py
main.py
utilities.py
foo/
只是一个包含 API 端点之一的代码的文件夹,我计划将来添加其他端点,因此我有common/util.py
文件,其中包含我将与其他 API 端点一起使用的可重用函数。
foo/main.py
from flask_restful import Resource, request
from utilities import Analysis
class Foo(Resource):
def get(self):
pass
in foo/utilities.py
我有一些带有获取一些数据的方法的类,我将这些类导入到foo/main.py
返回 JSON 响应
班级在foo/utilities.py
还使用了一些函数common/util.py
但是当我尝试从中导入一些东西时common/util.py
to foo/utilities.py
I get import common.util
ModuleNotFoundError: No module named 'common'
可能是什么原因造成的?我尝试了多种导入方式:from common.util import my_func
from .common.util import my_func
from myproject.common.util import my_func
但没有一个起作用。
This is myproject/app.py
如果重要的话:
from flask import Flask
from flask_restful import Api
from foo.main import Foo
app = Flask(__name__)
api = Api(app)
api.add_resource(Foo, '/Foo')
if __name__ == "__main__":
app.run()
如果重要的话,我会在激活的 virtualenv 中执行所有这些操作