应用程序说移到目录后找不到模块

时间:2019-01-14 10:07:30

标签: python module

我是python的新手,有这个奇怪的问题,我似乎找不到答案。

当app.py和mod_db都在根目录中时,它可以工作,但是当我将它们移到子目录中时

我的目录结构:

demo_api
|
|-- demo-api
    |
    |-- __init__.py
    |-- app.py
    |-- mod_db.py

我的主模块

import json

from flask import Flask, request, Response
from .db_mod import insert_and_score

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


@app.route('/emotional_scoring', methods=['POST'])
def get_scoring():
    json_obj = request.json
    ret_json = insert_and_score(json_obj)
    resp = Response(json.dumps(ret_json), mimetype='application/json', status=200)
    return resp


if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=False)

错误消息在此行

from .mod_db import insert_and_score

我尝试更改子目录名称。我试图做一个完整的路径,即从demo_app.mod_db import insert_and_score导入,错误是ModuleNotFoundError:No module named'demo_app'

问题在于它可以在我的IDE(PyCharm)中找到,但是当我在命令行上进行操作时,这就是我遇到的错误。

1 个答案:

答案 0 :(得分:0)

正如mfrackowiak所说,我只需要将其更改为

from db_mod import insert_and_score

成功了。但是PyCharm不喜欢这样。所以我认为这可能是PyCharm问题。