Django-admin在virtualenv

时间:2015-08-11 10:48:04

标签: python django django-admin virtualenv

我创建了一个新目录,一个virtualenv并在其中安装了一个django-toolbelt。 django版本应该是1.8但是当我调用'django-admin.py版'时它会说1.6。因此,当我开始一个新项目时,它会创建一个1.6。我认为virtualenv应该阻止这一点。我做错了什么?

编辑:我认为它与PATH(?)有关。就像它调用错误的django-admin版本一样。我在Windows 7上。仍然不知道如何解决它。

4 个答案:

答案 0 :(得分:2)

我也遇到过这个问题。在官方文档中,我发现,在虚拟环境中,如果使用命令'django-admin',它将通常在'/usr/local/bin'(Linux)中从PATH搜索以查找“django-admin”。 PY'这是另一个版本的django的符号链接。这就是最终发生的事情的原因。

因此有两种方法可以解决这个问题:

  1. 将您当前版本的django-admin(site-packages / django / bin / django-admin.py)重新符号链接到' usr / local / bin / django-admin'或&& $; usr / local / bin / django-admin.py'
    提醒:这是一种全局方式,因此它会影响你的其他django项目,所以我推荐第二种方法
  2. cd到your_virtual_env / lib / python3.x / site-packages / django / bin /(当然你应该激活你的虚拟环境),然后用'python django-admin.py startproject project_name project_full_path'创建django项目

答案 1 :(得分:1)

尝试将Django安装到虚拟环境中:

pip install django

它应该安装最新版本,如果需要,还可以指定特定版本(例如1.8.2):

pip install django==1.8.2

无论哪种方式,您都可以在虚拟环境中使用正确版本的Django,它应该可以正常运行。

您还可以使用以下命令查看已安装的版本:

pip show django

<强>更新

您的虚拟环境中似乎安装了正确的版本,但出于某种原因,当您直接使用manage.pydjango-admin.py 时,Windows 7会使用系统Django安装。但是,您可以使用python manage.pypython django-admin.py,这似乎按预期工作(并使用virtualenv Django安装)。

答案 2 :(得分:0)

为项目创建虚拟环境:

$ mkdir cd my_project_folder
$ cd my_project_folder 
$ virtualenv venv
$ source venv/bin/activate

现在安装django

(venv) ~$ pip install django==1.8

manage.py runserver in virtualenv using wrong django version

pip / virtualenv / django installation issue

答案 3 :(得分:0)

我有同样的问题。可能与您的zsh / bash设置有关。

我意识到使用zsh(我的默认设置)将获得django-admin版本1.11,尽管Django版本为2.1!当我使用bash尝试相同的操作时,我将获得django-admin 2.1版(正确的版本)。当然是配置错误。

因此,我强烈建议您检查zsh或bash设置以检查可能具有的路径。