VSCode-Python拡張子を使用してVSCodeからPythonフラスコアプリをデバッグしようとしています。窓のビジュアルスタジオコード内のフラスコアプリをデバッグ
flask.cli
モジュールをインポートスタートアップスクリプトを使用し- launch.jsonで
"module":"flask.cli"
オプションを使用して2つの文書をよるとそれを動作させるには2つの方法があります。記載されているhere
私は最終的にOSError: Windows error 1
となります。これはからインポートされたmain
関数が存在しないことを示すエラーのようです。
私はvirtualenvを使用しています。コマンドラインから実行しようとすると、アプリケーションは正常に動作します。ここで
はsettings.jsonコンテンツ(ENVは、環境スクリプトが含まれているフォルダです)です:
{
"python.pythonPath": "${workspaceRoot}\\backend\\env\\Scripts\\python.exe"
}
そして、ここではlaunch.jsonです:ここでは
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Flask (0.11.x or later)",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config:python.pythonPath}",
"cwd": "${workspaceRoot}",
"module":"flask.cli",
"env": {
"FLASK_APP": "${workspaceRoot}\\backend\\app.py"
},
"args": [
"run",
"--no-debugger",
"--no-reload"
],
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
}
]
}
は完全なエラーですスタックトレース:
runpy.py:125: RuntimeWarning: 'flask.cli' found in sys.modules after import of package 'flask', but prior to execution of 'flask.cli'; this may result in unpredictable behaviour
warn(RuntimeWarning(msg))
line 205, in run_module return _run_module_code(code, init_globals, run_name, mod_spec)
line 96, in _run_module_code mod_name, mod_spec, pkg_name, script_name)
line 85, in _run_code exec(code, run_globals)
line 517, in <module> main(as_module=True)
line 513, in main cli.main(args=args, prog_name=name)
line 380, in main return AppGroup.main(self, *args, **kwargs)
line 707, in main e.show()
line 47, in show echo(self.ctx.get_usage() + '\n', file=file, color=color)
line 259, in echo file.write(message)
line 180, in write return self._text_stream.write(x)
line 164, in write raise OSError(self._get_error_message(GetLastError()))
OSError: Windows error 1
あなたは一番下のエラーと警告を混同しました。このエラーは 'flask.cli.main'が存在しないことを示していません。何らかの理由で 'stdout'に書き込めないようです。 – davidism
あなたはエラーの報告によって少し混乱しているという意味で正しいです。それにもかかわらず、最初の行は単なる警告であり、本当の問題は私が間違ったアプリケーションファイルを指していたことでした。私は本当にスタックトレースが何を言いたいのか分かりません。 FLASK_APP変数を修正することで問題が解決されました。 "FLASK_APP": "$ {workspaceRoot} \\バックエンド\\ the_correct.py" – hoonzis