【问题标题】:"$python manage.py runserver" not working. Only "python3 manage.py runserver"“$python manage.py runserver”不工作。只有“python3 manage.py runserver”
【发布时间】:2018-01-23 19:07:03
【问题描述】:

我一直在学习初始教程,但在使用 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”时,我得到以下信息:

Traceback(最近一次调用最后一次): 文件“manage.py”,第 17 行,在 “无法导入 Django。你确定它已经安装了吗?” ImportError:无法导入 Django。您确定它已安装并在您的 PYTHONPATH 环境变量中可用吗?您忘记激活虚拟环境了吗?

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

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

我的 Mac OSx 有一个 2.7 的本机安装,我认为我的机器需要它来依赖其他应用程序。

任何帮助将不胜感激!我确信我是 python 新手,我完全是个白痴!

【问题讨论】:

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


    【解决方案1】:

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

    1. virtualenv --no-site-packages -p python3 venv
    2. 源 venv/bin/activate
    3. pip 安装 django

      ........

      ........

    python manage.py runserver

    【讨论】:

    • 非常感谢您的帮助。我去做!只是为了检查,我是否需要将 python3 重新安装到该虚拟机上,或者我可以将其他所有东西留在原处吗?我知道 SQLlite 附带 python 下载。想确保找到所有的包。
    【解决方案2】:

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

    【讨论】:

    • 你可能会补充说,如果你使用 virtualenv,你可以只输入 python,不管它是 2 还是 3。Django Girls 教程实际上有 a note about it
    • 太好了 - 非常感谢您的帮助!
    猜你喜欢
    • 2020-11-19
    • 2011-02-20
    • 2020-02-27
    • 2018-09-17
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多