python manage.py runserver错误:ModuleNotFoundError:没有名为“设置”的模块

时间:2018-12-16 04:42:41

标签: python django django-2.1

我正在开始使用python,并且在使用django 2.1和python 3.7时遇到了很多其他人似乎也遇到过的问题。

下面是我到达这里的过程:

  • 启动了虚拟环境

  • 启动了django项目

  • 尝试运行:

  

python manage.py runserver

我始终收到错误消息:ModuleNotFoundError:没有名为“设置”的模块

我对以下SO问题进行了广泛的研究,并找到了一些解决方案,但这些对我来说都不是有效的解决方案。有人遇到过这个问题吗?

First question researched

Second Question researched

任何见解都会有所帮助。提前致谢。

编辑:我的manage.py文件如下:

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

if __name__ == '__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mytodoapp.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)

我的文件结构如下:

  
    

mytodoapp

  
     

mytodoapp

>__init__.py

>settings.py

>urls.py

>wsgi.py
     

manage.py

Screenshot of my console

Manage.py file

6 个答案:

答案 0 :(得分:1)

我遇到了类似的问题。但是我在使用Anaconda时创建了django项目。使用以下命令安装sqlparse后,问题就解决了。

conda install sqlparse

答案 1 :(得分:1)

  1. 打开你的项目文件夹。

  2. 搜索 wsgi.py 文件并添加这一行。

    from django.conf import settings.
    
  3. 然后保存。

  4. 找到 yr manage.py 文件编辑

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'projectname.settings')
    

    os.environ['DJANGO_SETTINGS_MODULE' ]='projectname.settings'
    
  5. 保存和walla问题已修复。

  6. cd 到您的应用程序文件夹,然后运行服务器 与

    python manage.py runserver. 
    

答案 2 :(得分:0)

我遇到了类似的问题,而问题最终是因为我以某种方式修改了树结构,使得manage.py无法访问其所需的某些资源。我的解决方案最终重新创建了一个废品django项目,并查看了项目结构。您应该遵循这种结构

yourproject/
├── db.sqlite3
├── manage.py
└── yourproject/
    ├── __init__.py
    ├── app1/
    ├── settings.py
    ├── urls.py
    └── wsgi.py

将manage.py保留在内部yourproject文件夹之外似乎很重要。

答案 3 :(得分:0)

django 2.1需要python 3.5+,它支持manage.py文件中的语法。

激活您的环境并验证您的python是3.7 如果不是,那么在创建virtualenv时指定python版本。

_

答案 4 :(得分:0)

尝试安装'sqlparse'。然后它将在Anaconda中工作。

pip install sqlparse

答案 5 :(得分:-1)

尝试将您的manage.py更改为此:

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

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mytodoapp.settings")
    try:
        from django.core.management import execute_from_command_line
    except ImportError:
        # The above import may fail for some other reason. Ensure that the
        # issue is really that Django is missing to avoid masking other
        # exceptions on Python 2.
        try:
            import django
        except ImportError:
            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?"
            )
        raise
    execute_from_command_line(sys.argv)