小さなPythonボトルアプリケーションをREdHatopenshiftプラットフォームにデプロイしようとしていますが、500サーバーエラーが発生し続けます。アプリにSSHで接続してPythonを実行すると、ボトル(または使用する他のすべてのライブラリ)のインポートがimportErrorで失敗することがわかりました。
必要なモジュールを2つの方法でインストールしました(いくつかのチュートリアルに従って)。
setup.pyの両方:
install_requires=['sqlalchemy','bottle','requests']
データフォルダにvirtenvをインストールし、次のコマンドでアクティブ化します。
source virtenv/bin/activate
およびpipインストールボトルのsqlalchemyリクエスト
次に、wsgiハンドラーのエントリーポイント:'application'を次のように編集します。
import os
here = os.path.dirname(os.path.abspath(__file__))
os.environ['PYTHON_EGG_CACHE'] = os.path.join(here, '..', 'data', 'virtenv/lib/python2.7/site-packages')
virtualenv = os.path.join(here, '..', 'data/virtenv/bin/activate_this.py')
execfile(virtualenv, dict(__file__=virtualenv))
from myappname import application
(myappnameには実際のボトルアプリケーションロジックが含まれています)すべての変更後、git pushを使用してすべてをopenshiftにプッシュし、同じ500サーバーエラーを発生させます。アプリにSSHで接続して実行している場合
python application
インポートエラーが発生しますが、何も機能していないようです。ここでサポートをいただければ幸いです。
編集: アプリにSSHで接続し、手動で実行する場合
source virtenv/bin/activate
Pythonを実行しようとすると、すべてが期待どおりに機能します(少なくともほとんどが機能します)。何らかの理由で、activate_this.pyが期待どおりに動作しないようですが、手がかりはありませんか?