我在我的服務器上有一個Django 1.4.5和一個工作項目。在virtualenv下使用錯誤版本的Django runserver
我用的virtualenv創建一個實例和安裝的Django 1.6.5裏面(pip install Django==1.6.5).
如果我只需運行:
python manage.py runserver
一切正常,並開始使用Django的服務器1.6.5 但我有一個名爲run_devenv.py的文件,它基本上使用子進程啓動我的整個項目。它啓動服務器這樣的:
def run_devenv():
processes = [
...
('webserver', subprocess.Popen([PYTHON, 'manage.py', 'runserver', '0.0.0.0:%d' % HTTP_PORT, '--settings', os.environ['DJANGO_SETTINGS_MODULE']])),
...
]
if __name__ == '__main__':
if not os.access(settings.DEVENV_DIR, os.F_OK):
setup_devenv()
else:
run_devenv()
,由於某種原因它使用的Django 1.4.5,而不是1.6.5。
看起來它使用安裝在系統中的1.4.5並省略了使用1.6.5的virtualenv實例。
有人可以幫忙嗎?
編輯>解決方案: 我的問題是這樣的字符串(我沒有表現出來):
PYTHON = "/usr/bin/python"
它應該是這樣的:
PYTHON = "path_to_your_virtualenv/bin/python"
是否可以指定您想要運行的Django版本的路徑? – Deepend
現在我正在搞清楚如何使用一些統一的值,所以我不硬編碼virtualenv的名字,尋找像'sys.argv [0]'或'/ usr/bin/env python' – Oleg