Django manage.py runserver无效语法

时间:2017-12-19 05:40:23

标签: python django

我正在使用django在Ubuntu中开发一个Web。一切正常。现在,我想更换使用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.
>>>

如上所示,我安装了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)

16 个答案:

答案 0 :(得分:9)

我面临同样的问题,但现在用这个cmd解决了:

python3 manage.py runserver

答案 1 :(得分:4)

编辑您的#!/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) 文件,如下所示:

from exc

请注意,manage.py已从文件中删除。 public void currentvalue(ref int a) { if (a == 5) { a = 10; Console.WriteLine("a" + a); } } 文件中不需要它。

答案 2 :(得分:4)

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

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

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

    python manage.py runserver#这将为您提供localhost的项目路径。将URL复制并粘贴到浏览器中即可。

答案 3 :(得分:2)

正在发生的是使用了错误版本的python,它可能没有你的virtualenv中的所有依赖项。使用sudo manage.py时出现此错误:使用sudo更改用于/usr/bin/python的python版本。

通过指定使用sudo时使用的python版本来解决问题:

sudo /path/to/my/env/bin/python manage.py makemigrations

答案 4 :(得分:2)

确保您正在从virtualenv运行该应用程序,即,如果您已经为项目创建了virtualenv,请先激活venv。

me@debian:~/Desktop/webapp$source venv/bin/activate 
(venv) me@debian:~/Desktop/webapp$python manage.py runserver

答案 5 :(得分:1)

我也遇到了这个错误,但是先安装pipenv即可解决

尝试先运行

pipenv shell django==2.1

那么您应该可以运行

python3 manage.py runserver

答案 6 :(得分:1)

您只是忘记激活虚拟环境,请按照以下步骤操作:

source /home/adel/Dev/Python/DjangoProjects/myproject/venv/bin/activate

然后您可以运行服务器:

python manage.py runserver

答案 7 :(得分:0)

我对 Python 3.4.4 Django 2.0 也有同样的问题。我尝试了最后一个解决方案,没有任何作用(不需要删除第14行上的from exc)。

只需运行服务器:

python manage.py runserver

而不是:

./manage.py runserver #or '.\manage.py runserver' for Windows

答案 8 :(得分:0)

尝试(从命令行):

python3 manage.py runserver

如果我使用了这个(没有python 3 ):

python manage.py runserver

错误仍然存​​在。此方法允许您不必更改manage.py(这样您就可以保留“from exc”)。

答案 9 :(得分:0)

这样运行没问题:

sudo ./**(your path)**/bin/python manage.py runserver

答案 10 :(得分:0)

我有同样的问题。我只需指定python版本即输入python3 manage.py runserver而不是python manage.py runserver

即可解决此问题

答案 11 :(得分:0)

我遇到了同样的问题,我发现很奇怪,因为我已经激活了虚拟环境并设置了python3,但是,当我使用“ python manage.py runserver”这个语句时,我遇到了这个问题。但是我只遇到一次,然后重新启动虚拟环境,它开始运行,希望您也能成功。

答案 12 :(得分:0)

我重新安装了v env

virtualenv venv --python=python3.7

我安装了django

有效

答案 13 :(得分:0)

我摆脱了周围的环境。

我重新运行了pipenv shell

答案 14 :(得分:0)

首先在找到Env文件夹的命令行上执行以下操作:

source Env/bin/activate

然后现在导航到您的项目目录并执行:

python manage.py runserver

有效!

答案 15 :(得分:0)

我遇到了同样的问题。

激活的 venv 并运行 python manage.py runserver 不起作用。

我可以看到 venv 已激活,但仍然无法正常工作。然后尝试 python3 manage.py runserver 摆脱了 exc 问题,但现在它没有检测到我安装的库。

我所做的破坏它的更改是重命名基本文件夹(类似于 OP 基本文件夹位置的情况现在不同了)。

但是等等,这会如何影响任何事情?

<块引用>

venv 中存储到 venv/bin/activate 的完整路径的变量是 现在不再有效。

分辨率

  1. 如果 venv 已经运行,则停用
  2. 打开 venv/bin/activate
  3. 搜索 VIRTUAL_ENV 变量并根据所做的新文件夹更改重命名。
  4. 激活 venv source venv/bin/activate
  5. 运行python manage.py runserver

多田,一切都恢复正常了,我们可以愉快地享用柠檬水了。