web-dev-qa-db-ja.com

ファイル名によるGunicornのインポートはサポートされていません(モジュール)

コンテナubuntuを新しく作成し、必要なパッケージを仮想環境にインストールしました。次に、既存のpython service code by python path/to/my/file/X.py(in virualenv)それは正常に機能しています。したがって、gunicornをgunicorn -b 0.0.0.0:5000 path/to/my/file/X:app(virualenv内)として実行しましたが、次のエラーが発生します

2015-11-11 16:38:08 [19118] [INFO] Starting gunicorn 17.5
2015-11-11 16:38:08 [19118] [INFO] Listening at: http://0.0.0.0:444 (19118)
2015-11-11 16:38:08 [19118] [INFO] Using worker: sync
2015-11-11 16:38:08 [19123] [INFO] Booting worker with pid: 19123
2015-11-11 16:38:08 [19123] [ERROR] Exception in worker process:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 473, in spawn_worker
    worker.init_process()
  File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 100, in init_process
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 115, in wsgi
    self.callable = self.load()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 33, in load
    return util.import_app(self.app_uri)
  File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 362, in import_app
    __import__(module)
ImportError: Import by filename is not supported.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 473, in spawn_worker
    worker.init_process()
  File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 100, in init_process
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 115, in wsgi
    self.callable = self.load()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 33, in load
    return util.import_app(self.app_uri)
  File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 362, in import_app
    __import__(module)
ImportError: Import by filename is not supported.
2015-11-11 16:38:08 [19123] [INFO] Worker exiting (pid: 19123)
2015-11-11 16:38:09 [19118] [INFO] Shutting down: Master

誰かが私がImportError: Import by filename is not supportedを修正するのを手伝ってくれますか。なぜ来るのですか?私は他のサーバーにgunicornを実装しましたが、そこでは正常に動作しています。

12
gopinath

エラーのとおりです。Pythonモジュールをファイルパスで参照することはできません。PYTHONPATHにあるディレクトリから始まる点線のモジュールパスで参照する必要があります。

gunicorn -b 0.0.0.0:5000 path.inside.virtualenv.X:app
15
Daniel Roseman

まったく同じ問題に直面しました。--chdir /path/to/projectを使用して動作させました

gunicorn -b :5000 --chdir /path/to/project X:app

お役に立てれば

2
Arun G

グーグルのためだけに、gunicorn--pasteの代わりにgunicorn-pasteを使用してアプリケーションを誤って実行したときにもこのエラーが発生しました。 gunicornはエラーになりませんでしたが、api.iniが見つからず、「ファイル名によるインポートはサポートされていません」というエラーがスローされました。

0
benh57