stackoverflow の回答をみてみました。
この質問は重複しているので、
How do I enable remote celery debugging in PyCharm?
を、今一度読んでください。
スクリプトを起動するとき、スクリプト本体へのパスが通っていないため import error になっています。
もう少し詳しく説明すると、 celery というスクリプトファイルを実行するように指定されていますが、そこには celery というファイルはなく、celery ディレクトリがあり、かつ __main__.py
があるので、それを起動しています。そのとき、celery モジュールへのパスが通っていないため、maybe_patch_concurrency を import 出来ないという状態です。
ちなみに、起動スクリプトの中身をみてみてください。ここでは __main__.py
にある main を呼び出しているだけです。 python の起動スクリプトは全て、モジュールにある一つの関数を呼び出すだけのものになっています。
ということで、起動するときの設定で間違っているのは、起動スクリプトの指定と、モジュールへのパスの指定です。
Script path には、スクリプトのある場所を指定するのですが、あなたの設定は celery モジュールがある場所を指定しています。ここに、起動スクリプトがある場所を指定してください。
(このままの指定でも、モジュールへのパスが通っていれば、動くと思いますが…。いちおう。)
working directory を指定すると、そこからモジュールを探しに行きます。ですので、モジュールが存在している場所(パス)を指定してください。
あらゆるプログラミング言語に言えることですが、命令文はすぐに覚えるし、星の数ほど身の回りに転がっているので、それらを覚える必要はまったくありません。それより各言語の仕組みを覚える方が重要になってきます。__inii__
ってなに?とか、暗黙で使われている機能など。
あと、OS の機能とか。実行ファイル、パラメータや作業ディレクトリの指定は、 Linux や Windows など、あらゆるコンピューターで共通です。PyCharm だろうが、 Eclipse だろうが、Visual Studio Code だろうが、みないっしょ。
celery スクリプトがありません! パスがありません!、とエラーになる場合が多いのですが、 今回は __main__.py
が存在していたため、余計にわからなくなったと思います。
ちなみに、私は PyCharm を使ったことはなく、 celery も全くの無知です。
happy python life!
参考
29.4. main ー トップレベルのスクリプト環境 ー python 3.6.5 ドキュメント