我試圖用virtualenv部署django應用程序,但我不是linux專家用戶。Django virtualenv,pythonpath問題
這是共享主機。如果我鍵入python,我得到了python 2.4控制檯。如果一個類型python2.7我有2.7控制檯。
我想使用2.7。
- 我用setuptools在我的私人.site-packages中安裝了virtualenv。
- 我使用python 2.7創建了我的環境:.site-packages/virtualenv --no-site-packages -p python2.7 env
- 我激活了我的env並安裝了我需要的軟件包。
- 我配置(試圖)我.wsgi使用ENV
我已經2天步驟4的服務器有一些預裝模塊,這是在sys.path中。例如,它安裝了django,但我想使用安裝在我的virtualenv中的模塊。
我讀了幾WSGI文件和我來到了這一點:
import sys, os, site
sys.stdout = sys.stderr
os.environ['PYTHON_EGG_CACHE'] = '/home/bruddennautica/apps_wsgi/.python-eggs'
os.environ['DJANGO_SETTINGS_MODULE'] = "brudden.settings"
sys.path.append('/home/bruddennautica/apps_wsgi')
sys.path.append('/home/bruddennautica/apps_wsgi/env/lib/python2.7/site-packages')
activate_this = '/home/bruddennautica/apps_wsgi/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
有了這個的conf,我有一個Django錯誤,表明了我一些事情。 django錯誤並不重要,這是因爲django版本與我在virtualenv(python版本)中安裝的版本不同。
PRINT:http://dl.dropbox.com/u/9290581/error.png
很可能看到蟒蛇路徑項,其中大部分不是從virtualenv中。第一個是:/home/bruddennautica/apps_wsgi/env/lib/python2.4/site-packages。但是這個文件夾不存在。顯然它是通過第22行中的activate_this.py添加的:
site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages')
任何人都可以幫助我嗎?
感謝
您的屏幕截圖省略了錯誤消息中最重要的部分。請顯示錯誤消息的頂部。 –
正如我所說。錯誤並不重要。這是因爲它運行由主機安裝的django 1.3,而不是安裝在我的環境中的1.4。 – otaviosoares
它看起來並不像你的virtualenv正在被激活 - 你的錯誤信息始終是指/ usr/bin/python(參見頂部的Python可執行文件)。此外,請在這裏發佈您的錯誤消息,或作爲文本文件在某處複製/粘貼作品。 – jvc26