0

私はherokuとdjango/vertualenvを使用しています...私はこのブーストラップファイルを使用しました:https ://github.com/mtigas/heroku-django-demo-app/blob/master/tldr.markdown 、私のアプリに名前を付けましcontest2たが、フォアマンをローカルで実行してみてくださいforeman start

raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
11:10:06 web.1     | ImportError: Could not import settings 'src/contest2/contest2/settings.py' (Is it on sys.path?): Import by filename is not supported.

procfileが含まれているディレクトリから、このパス:src/contest2/contest2/settings.pyは正しいです。

私のprocfileは次のようになります:

web: gunicorn_django -b 0.0.0.0:$PORT -w 9 -k gevent --max-requests 250 --preload src/$PYTHON_APP_NAME/$PYTHON_APP_NAME/settings.py > Procfile 

よろしくお願いします。

4

1 に答える 1

2

あなたsrc/contest2/contest2/settings.py__import__関数に供給されます。

エラーのシミュレーションを試みることができます。

>>> __import__('path/module.py')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: Import by filename is not supported.
>>>

パスではなく、Pythonモジュール名を使用するように変更することをお勧めします。

より簡単な方法は、それsrc/$PYTHON_APP_NAME/$PYTHON_APP_NAME/がパス上にあることを確認しsettings、モジュール名として使用することです。

これがどのように機能するかを理解するために、コマンドのソースをgunicorn_django確認することをお勧めします。

于 2012-09-05T16:50:32.530 に答える