私はWebソケット機能を使用するflask.appを開発しており、それを提供するために flask-socket をインストールしています。したがって、フラスコソケットの開発者は、Webサーバーとして gunicorn を推奨しています。私の質問は、pycharmのremoveデバッガーをgunicornに接続して、ブレークポイントで実行をインターセプトする方法です。
Settings > Project Settings > Python Debugger
「gevent互換デバッグ」を有効にするオプションがあります。
次に、デバッガー設定に移動します(ショートカットはツールバーを使用し、再生/デバッグアイコンの近くにあるドロップダウンをクリックして、[構成の編集]を選択します。
「スクリプト」をvirtualenvのgunicornのインストールに設定します。次のようになります。
/Users/iandouglas/.virtualenvs/defaultenv/bin/gunicorn
「スクリプトパラメータ」を-b 192.168.1.1:9000 app:yourappname
のようなものに設定します(プライマリ開始スクリプトがapp.pyと呼ばれ、「yourappname」として参照していると仮定します)
「作業ディレクトリ」は自動的に設定されます。それ以外の場合は、コードが存在する場所に設定します。/Users/iandouglas/PycharmProjects/MyExampleApp
ホスト/ポートを指定するgunicorn設定用の個別の構成ファイルがありますが、ポート5001でマシン上のすべてのIPにgunicornを強制的にバインドするには、-b 0.0.0.0:5001
パラメーターを指定する必要がありました。
PyCharm 2018.1.3 Professionalの私の場合:
実行/デバッグ構成に移動 作成および編集-実行-デバッグ-構成
新しい「Python」構成を選択します
-b :5001 --access-logfile - --error-logfile - "run:create_application()"
- flask起動pythonファイルを編集します
$ vim manage.py
- デバッグオプション設定を削除する
from web import app
import sys
if __name__ == '__main__':
# app.run(Host='0.0.0.0', port=app.config["PORT"], debug=app.config["DEBUG"])
app.run(Host='0.0.0.0', port=9998, debug=False)