" $ python manage.py runserver"不工作只有" python3 manage.py runserver"

时间:2017-08-15 19:20:06

标签: python django python-2.7 python-3.x

我一直在完成初始教程,并使用python 2.7遇到了我的anaconda安装问题。最终它不会启动服务器。

无论如何,我决定将我的机器更改为python3。那就是说,我现在得到了奇怪的结果:

如果我使用终端命令$ python -m django --version,我得到以下内容:

" ../ Contents / MacOS / Python:没有名为django的模块"

如果我改为" $ python3 -m django --version"终端让我回答:" 1.11.4"

现在,当我在教程中并从头开始时,我会执行以下操作:" $ django-admin startproject mysite"

这似乎有效。

然而,当我尝试:" $ python manage.py runserver"我得到以下内容:

追踪(最近一次通话):   文件" manage.py",第17行,in     "无法导入Django。你确定它已经安装了吗?" ImportError:无法导入Django。您确定它已在PYTHONPATH环境变量中安装并可用吗?您是否忘记激活虚拟环境?

如果我改为包含3,那么" $ python3 manage.py runserver"一切都很好。

我的问题是我现在需要在每个命令中始终使用python3吗?我在教程中没有这么说。

我的Mac OSx本机安装为2.7,我相信我的机器需要其他应用依赖。

任何帮助都会非常感激!我很确定,因为我是python的新手,我是一个完全的白痴!

2 个答案:

答案 0 :(得分:1)

您可以安装" virtualenv":https://virtualenv.pypa.io/en/stable/installation/并创建虚拟环境并在那里安装django(这是一种很好的做法)。您可以避免在虚拟环境中键入python3。

  1. virtualenv --no-site-packages -p python3 venv
  2. source venv / bin / activate
  3. pip install django

    ..................

    ..................

  4. python manage.py runserver

答案 1 :(得分:0)

是。 Python 3的二进制文件安装后缀为" 3",因此python将启动Python 2解释器,您需要运行python3以专门使用Python 3。