當我flask run在 VS Code 終端中運行時,錯誤顯示說
flask run
* Serving Flask app 'app.py' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
Usage: flask run [OPTIONS]
Try 'flask run --help' for help.
Error: While importing 'app', an ImportError was raised.
我認為這是由于專案的結構方式以及在進行此類匯入時可能會出錯。
from backend.config.dbconfig import pg_config
這是我目前使用的專案結構。
system
├───.github
├───.venv
├───.vscode
├───backend
│ ├───config
│ │ ├───__init__.py
│ │ └───dbconfig.py
│ ├───controller
│ │ ├───__init__.py
│ │ └───account.py
│ ├───model
│ │ ├───__init__.py
│ │ └───account.py
│ └───app.py
├───Documents
└───frontend
├───public
└───src
所有 __init__.py 都是空的,據我所知,它們是必需的。
我注意到當我backend.從 import 中洗掉from backend.config.dbconfig import pg_config,并將其添加到我的 app.py ...
import sys
sys.path.append('./')
它適用于 VS Code 和 Heroku,但 PyCharm 現在拋出錯誤說 Unresolved reference 'model'
以下是我的應用程式在執行“修復”以使其在 Heroku 和 VS Code 上運行后的示例。匯入在 PyCharm 中仍然顯示為錯誤,但它在 PyCharm 中運行。由于它拋出錯誤,我假設我以錯誤的方式處理它,但我不知道還能做些什么來修復它。
這是我的 app.py 的示例
import sys
sys.path.append('./')
from flask import Flask, request, jsonify
from flask_cors import CORS
from controller.account import BaseAccount
app = Flask(__name__)
CORS(app)
@app.route('/account', methods=['GET', 'POST'])
def handleAccounts():
if request.method == 'GET':
return BaseAccount().getAllAccounts()
elif request.method == 'POST':
return BaseAccount().insertAccount(request.json)
else:
return jsonify("Method Not Allowed"), 405
控制器/帳戶.py
from flask import jsonify
from model.account import AccountDAO
class BaseAccount:
是否可以在不更改專案結構的情況下修復這些錯誤?
uj5u.com熱心網友回復:
這是因為 Pycharm 可以自動添加作業區檔案夾(您專案中的系統檔案夾)PYTHONPATH,但在 VSCode 中您需要手動添加它。
你可以在settings.json檔案中添加這個來解決問題:
"terminal.integrated.env.windows": {
"PYTHONPATH": "${workspaceFolder};"
},
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/374873.html
標籤:Python 烧瓶 英雄联盟 视觉工作室代码 pycharm
