2012-03-16 44 views
0

我想部署一個小的python瓶應用程序到REdHat openshift平臺,我不斷收到500服務器錯誤。當我ssh進入應用程序並運行python時,我發現導入瓶(或其他所有庫)導致importError失敗。openshift與瓶和蟒蛇Paas部署 - 沒有找到正確的地方從已安裝的模塊導入

都在setup.py:

install_requires=['sqlalchemy','bottle','requests'] 

,並在數據文件夾中安裝一個virtenv,激活它

我以兩種方式(以下幾個教程),安裝需要的模塊搭配:

source virtenv/bin/activate 

和PIP安裝瓶SQLAlchemy的要求

,然後編輯WSGI處理程序入口點:「應用」 喜歡的東西:

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包含了實際工作瓶的應用程序邏輯) 每一個變化推動一切有混帳推後openshift ,然後相同的500服務器錯誤。當SSH的應用程序和運行

python application 

我得到的導入錯誤 似乎沒有任何工作,我會很高興在這裏

編輯任何幫助: 當SSH到應用程序和手動做

source virtenv/bin/activate 

,並試圖運行python一切正常(當然至少大部分作品),符合市場預期。 所以出於某種原因似乎activate_this.py沒有預期的行爲 任何線索?

回答

1

有一點突出的是你的雞蛋的位置有點偏離。據推測,這不是一個錯字,並且電子沒有與雞蛋一起亂搞! :^)

os.environ [ 'PYTHON_EGG_CACHE'] = os.path.join(這裏, '..', '數據', 'virtenv/LIB/python2.7 /站點包')

用python2.6而不是2.7來試試。我認爲這應該導致模塊被加載。

+0

更改爲接受此答案,因爲那時就是問題所在。謝謝@ramr,並且您還帶領我在正確的方向後 – alonisser 2012-03-19 21:24:19

相關問題