web-dev-qa-db-ja.com

WSGIPythonPathはvirtualenvのどこを指すべきですか?

仮想環境のlibの中にpython2.7というフォルダーがあります。

半ダースのチュートリアルを読んだ後、私がWSGIPythonPathを指すと想定しているものを正確に理解できません。一部はsite-packagesを指しているのを見ましたが、一部はコロン:で区切られたリストでした。

Syntax error on line 1019 of /etc/httpd/conf/httpd.conf:
WSGIPythonPath cannot occur within <VirtualHost> section

WSGIPythonPathはvirtualenvのどこを指すべきですか?

19
user83039

WSGIPythonPathディレクティブはVirtualHost内では使用できないため、エラーが発生します環境。メインのApache構成ファイル内で宣言する必要があります。 VirtualHostコンテキスト内のvirtualenv内のディレクトリを引き続きポイントする場合は、代わりにWSGIDaemonProcessディレクティブを使用します。これには、python-pathオプションがあり、関連するpythonディレクトリを宣言します。

たとえば、仮想ホスト構成ファイルは次のようになります。

<VirtualHost *:80>
ServerName example.com
CustomLog logs/example.com-access_log common
ErrorLog logs/example.com-error_log

WSGIDaemonProcess example.com python-path=/virtualenvpathto/site-packages:/pathto/exampleprojecthome
WSGIProcessGroup example.com

...
</VirtualHost>

完全なコロンは、$ PYTHON_PATH環境変数に追加するpythonディレクトリが複数ある場合に使用されます。言うimport example.fooは正常に動作します。上記の例では、2つのディレクトリがあり、プロジェクトの設定方法に応じて、多かれ少なかれディレクトリになる可能性があります。

Windowsを使用している場合は、セミコロンを使用します。完全なコロンの代わりに。

これがお役に立てば幸いです。

19
kaykae