我是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)中找到,但是当我在命令行上进行操作时,这就是我遇到的错误。
答案 0 :(得分:0)
正如mfrackowiak所说,我只需要将其更改为
from db_mod import insert_and_score
成功了。但是PyCharm不喜欢这样。所以我认为这可能是PyCharm问题。