【问题标题】:manage.py runserver in virtualenv using wrong django versionvirtualenv 中的 manage.py runserver 使用错误的 django 版本
【发布时间】:2023-03-12 08:05:01
【问题描述】:

我创建了一个 virtualenv 并在其中安装了 Django 1.5

(virtpy33) c:\django_projects>python
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on      win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 5, 1, 'final', 0)
>>> ^Z

然后我创建了一个项目并运行了 manage.py runserver,但它说它运行的是 1.4 版

(virtpy33) c:\django_projects>django-admin.py startproject virtres
(virtpy33) c:\django_projects>cd virtres
(virtpy33) c:\django_projects\virtres>manage.py runserver
Validating models...
0 errors found
Django version 1.4, using settings 'virtres.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

我是 virtualenv 和 Django 的新手。还有什么我需要做的吗?比如编辑 settings.py 文件或 manage.py 文件之类的?

我的系统 (Windows Vista) 在我的 Python27 目录下(不在虚拟环境中)下有 Django 1.4,但我设置了一个 virtualenv,以便我可以使用 Django 1.5 和 Python 3。

请帮忙!

【问题讨论】:

  • 我知道这看起来很傻,但是如果你运行 python manage.py runserver 会发生什么?你最终得到了正确的版本吗?
  • 你是如何创建你的 virtualenv 的?您是否尝试过 --no-site-packages 选项?
  • python manage.py runserver 成功了。谢谢!

标签: python django virtualenv


【解决方案1】:

当您单独运行 manage.py 时,Windows 会将其从主 Windows PATH 中拉出,然后从与 Python 的主 Windows 关联中运行它,这是您默认安装的 Python 版本,因此在你的 virtualenv 之外。

在你的 virtualenv 中,尝试运行 python manage.py runserver 看看会发生什么。

【讨论】:

  • 跑进了这篇文章,事实上这个建议也对我有用。我永远无法理解 Windows shell 逻辑。
  • 这不仅限于窗口。在我的 linux 实例上运行 manage.py 有同样的问题。
猜你喜欢
  • 1970-01-01
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
  • 2018-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多