2

共有ホスティング プロバイダーである Dreamhost で Django をセットアップしようとしています。Django プロジェクトを提供する場合、Passenger WSGI が使用されます。これは Dreamhost のデフォルトの Python で動作しますが、仮想環境でモジュールを見つけることができません。

私は私のpassenger_wsgi.pyを次のように変更しました:

INTERP = "/home/<username>/.pythonbrew/venvs/Python-2.7.3/<venv>/bin/python"
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)

( http://wiki.dreamhost.com/Passenger_WSGIに記載されているとおり)

これにより、一般的な内部サーバー エラーでサイトが壊れます。私の Dreamhost ログ ファイルには、追加のヘルプはあまりありません: スクリプト ヘッダーの早期終了: internal_error.html。

自分の virtualenv にインストールされている Python モジュールを見つけるように Passenger を構成するにはどうすればよいですか?

4

1 に答える 1

1

INTERP を変更した後、virtualenv サイト パッケージを sys.path に追加してみてください。

import sys
sys.path.insert(0, '/path/to/venv/site-packages')

これは私と一緒に働いています

于 2012-11-30T03:29:20.337 に答える