Virtualenv和Django交互

时间:2019-04-20 09:14:19

标签: django virtualenv

我在Windows计算机上为项目安装了Django 2.1.3,然后为另一个Django项目创建了virtualenv,因此在激活virtualenv之后。

我的virtualenv中还没有安装任何东西,所以为什么我可以运行django-admin startproject命令而不安装django。

但是当我尝试通过命令在virtualenv中运行服务器时:

manage.py runserver

我收到错误消息,即在virtualenv中未安装django

需要一些解释为什么我的virtualenv中会发生

3 个答案:

答案 0 :(得分:1)

  

所以为什么我可以运行django-admin startproject命令而无需   安装Django

这是因为django-admin在系统的PATH中,因此它可以在任何虚拟环境中或外部运行。启动django项目并为其创建环境是两件事。意味着您可以使用django-admin在外部环境中创建项目,然后使用现有环境在该项目上工作或创建专门用于该项目的新环境。因此,只需在新的venv中安装Django。

在使用django-admin时要小心,因为它使用系统的Django版本,因此在venv中安装Django之后,只需使用python manage.py

答案 1 :(得分:0)

首先:您可以运行django命令,因为您已将其安装在计算机中并且正在使用该安装。

第二:因为您还需要在Virtualenv中安装Django。 virtualenv是与计算机分离的环境,因此您需要安装虚拟环境中要具有的所有依赖项。在这种环境中拥有的所有依赖项都不在您的PC中,反之亦然。

这使您可以在计算机和虚拟环境中拥有不同的版本以及不同的依赖项

答案 2 :(得分:0)

我建议为具有正确要求的第一个项目创建另一个virtualenv,然后删除Django的系统版本。将来会更清洁。