2016-01-01 57 views
0

我正在尝试使用Django (1.9)的新版本。我创建了一个虚拟环境(venv),其中我安装了新的Django (1.9)。一切似乎正常工作,但当我做manage.py runserver它似乎它使用Django (1.8.7)旧版本。已安装的Django 1.9,但虚拟环境使用1.8.7

我的venv被激活,所以我不知道它为什么表现如此。

我从头开始安装cmd命令: enter image description here

你知道问题出在哪里?

+2

请复制粘贴文本为代码引用。 –

回答

6

我想manage.py使用系统范围的python可执行文件:看看它的shebang(第一行)。尝试运行python manage.py ...

+0

谢谢,它的工作原理。但是,我必须在每个命令前写入python吗? –

+0

这个脚本有一个shebang(第一行指出这个脚本将被运行的程序)。所以当你将它作为独立的可执行文件运行时 - 系统范围的python被使用。这就是为什么你需要运行python manage.py,而不是manage.py。 –

+0

这是WIndows。 shebang不起作用,但'.py'将与系统Python安装相关联。当你激活时,你的'%PATH%'被更新为使用virtualenv Python。你将不得不使用'python manage.py'。 –

1

manage.py中的shebang行指向全局安装的python。如果你把它改成venv python,它应该像正常使用一样工作。

+0

谢谢,我应该在那里写什么? #!/ usr/bin/env python。我试过绝对路径(#!C:\ Users \ Milano \ PycharmProjects \ vwproject \ venv \ Scripts python),但它不起作用。 –

+0

Windows不理解shebang。 –

+0

看看venv中的pip脚本。它应该有正确的shebang线。 – rfkortekaas