これは一種の混乱を招きます。あらかじめお詫び申し上げます。次の仕様で、新しい (一時的な) 内部運用 Web サーバーを構成しています。
OSX 10.8.4 (Mountain Lion)、Apache 2.2.25、PostgreSQL 9.2、Python 2.7.5、Django 1.5.2、R 3.0.1、RPy2 2.3.7、virtualenv 1.10.4、virtualenvwrapper 4.1.1、mod_wsgi 3.4
これは、Homebrew と pip を使用して新しいマシンにセットアップされました。インストールを行う前に、Apple がインストールした元のバージョンの Apache と Postgres を削除しました。Apache と mod_wsgi の両方が機能します。mod_wsgi は、デーモン プロセスとして実行するためにインストールされます。
仮想ホストは mod_wsgi 経由で django にアクセスするように Apache で構成され、wsgi.py
ファイルには次の行が含まれています。
import os,sys,site
site.addsitedir('/Users/kaiju/.virtualenvs/nauru_dev/lib/python2.7/site-packages')
# Activate the virtual environment
# Taken from http://thecodeship.com/deployment/deploy-django-apache-virtualenv-and-mod_wsgi/
activate_env = os.path.expanduser('/Users/kaiju/.virtualenvs/nauru_dev/bin/activate_this.py')
execfile(activate_env,dict(__file__=activate_env))
すべての python パッケージ (django と RPy2 を含む) は、仮想環境の python サイト パッケージを使用してインストールされています。
R は Homebrew を使用してインストールされ、仮想環境内で呼び出された場合、コマンド ラインまたは Python インタープリターから正常に動作します (ほとんどの場合、後で詳しく説明します)。
homebrew.mxcl.httpd.plist
/Library/LaunchDaemons
の代わりに~/Library/LaunchAgents
、マシンの再起動時に自動的に起動するように追加されました。homebrew.mxcl.postgres.plist
に追加されました~/Library/LaunchAgents
(おそらく にも移動する必要があり/Library/LaunchDaemons
ます)。
ここに問題があります。すべてがインストールされたとき、それはうまく連携しました。すべてが正常であることを確認するために、マシンを再起動し、django アプリケーションをテストしました。django と同様に Apache が実行されていますが、次のエラーが表示されます。
RuntimeError at /admin/
R_HOME not defined, and no R command in the PATH.
Request Method: GET
Request URL: http://nauru.xoma.com/admin/
Django Version: 1.5.2
Exception Type: RuntimeError
Exception Value: R_HOME not defined, and no R command in the PATH.
Exception Location: /Users/kaiju/.virtualenvs/nauru_dev/lib/python2.7/site-packages/rpy2/rinterface/__init__.py in <module>, line 48
Python Executable: /usr/local/opt/python/bin/python2.7
Python Version: 2.7.5
Python Path: ['usr/local/var/django/code/ri',
'/usr/local/var/django/code',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.9.8-py2.7.egg',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.4-py2.7.egg',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
'/Library/Python/2.7/site-packages',
'/Users/kaiju/.virtualenvs/nauru_dev/lib/python2.7/site-packages',
'/Users/kaiju/.virtualenvs/nauru_dev/lib/python2.7/site-packages/PIL']
しかし、ターミナルウィンドウを開いて入力すると
sudo apachectl stop
sudo apachectl start
サーバーが戻ってくると、すべてが機能します。を使用すると、これは発生しませんsudo apachectl restart
。その場合、エラーが残ります。何が起こっている?私には可動部分が多すぎます。