Django manage.py runserver无效语法

Bha*_*ata 8 python django

我正在使用django在Ubuntu中开发网站。一切正常。现在,我想更改使用Windows的计算机。当我尝试运行服务器时,它给出了:

E:\DEGNet>py manage.py runserver
  File "manage.py", line 14
    ) from exc
         ^
SyntaxError: invalid syntax

E:\DEGNet>py
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)]
 on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Run Code Online (Sandbox Code Playgroud)

如上所示,我已经安装了Python 3.6.3。我也使用pip3安装了django和其他必要的库。

编辑:manage.py文件,这是生成项目时获得的默认manage.py。

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DEGNet.settings")
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)
Run Code Online (Sandbox Code Playgroud)

小智 21

我遇到了同样的问题,但现在使用此cmd解决了:

python3 manage.py runserver
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的解决方案。如果默认情况下您同时拥有 python 2 和 python 3,/usr/bin 中的 python 指向 python 2。 django 将安装用于 python 3,因此会出现错误。python3 manage.py runserver 与 exc 一起使用。谢谢你的提示。 (3认同)

aru*_*lmr 7

manage.py如下所示编辑文件:

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DEGNet.settings")
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        )
    execute_from_command_line(sys.argv)
Run Code Online (Sandbox Code Playgroud)

请注意,这from exc已从文件中删除。该manage.py文件中不需要它。

  • 这可能会阻止“无效语法”错误,但不能解决真正的问题:您安装了适用于Python 3的Django,现在尝试使用Python 2运行该错误时出现了错误。 。 (4认同)

小智 5

  1. 确保您的virtualenv已激活。假设您的virtualenv的名称是pythonpy,然后运行以下命令:

    virtualenv pythonpy workon pythonpy#运行这些命令后,您应该会看到类似的内容,但文件路径可能不同:“(pythonpy)C:\ Users \ MyDjangoProject \

  2. 然后转到包含manage.py(pythonpy)C:\ Users \ MyDjangoProject \#与上面相同的路径的项目文件夹
  3. 然后简单地运行服务器:

    python manage.py runserver#这将为您提供本地主机的项目路径。将URL复制并粘贴到浏览器中,即可正常工作。