我有一个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
在里面
foo/utilities.py
我有一些类的方法可以获取一些数据,我将这些类导入到
Fo/Mn.Py
返回json响应
课堂
foo/utilities.py文件
还使用了
普通/util.py
但是当我试图从
普通/util.py
到
foo/utilities.py文件
我得到
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
但都没起作用。
这是
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里做这些