我试图用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