[英]python manage.py runserver - Error: no module named registration
[英]python manage.py runserver error : ModuleNotFoundError: No module named 'settings'
我正在开始使用 python,并且在使用 django 2.1 和 python 3.7 时遇到了很多其他人似乎也遇到过的问题。
以下是我到达这里的过程:
启动虚拟环境
开始了一个django项目
试图运行:
python manage.py 运行服务器
我一直收到错误消息:ModuleNotFoundError: No module named 'settings'
我已经广泛研究并在以下 SO 问题中找到了一些解决方案,但对我来说都不是有效的解决方案。 有人遇到过这个问题吗?
任何见解都会有所帮助。 提前致谢。
编辑:我的 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)
我的文件结构如下:
mytodo应用程序
mytodo应用程序
>__init__.py >settings.py >urls.py >wsgi.py
管理.py
打开你的项目文件夹。
搜索 wsgi.py 文件并添加此行。
from django.conf import settings.
然后保存。
找到你的 manage.py 文件编辑
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'projectname.settings')
到
os.environ['DJANGO_SETTINGS_MODULE' ]='projectname.settings'
保存并解决 walla 问题。
cd
到你的应用程序文件夹,然后运行服务器
python manage.py runserver.
在我的例子中,问题最终是因为我以某种方式修改了树结构,因此manage.py
无法访问它需要的某些资源。 我的解决方案最终重新创建了一个废弃的 django 项目并查看了项目结构。 你应该遵循这个结构
yourproject/
├── db.sqlite3
├── manage.py
└── yourproject/
├── __init__.py
├── app1/
├── settings.py
├── urls.py
└── wsgi.py
manage.py 位于内部yourproject
文件夹之外似乎很重要。
我遇到了类似的问题。 但是我在使用 Anaconda 时创建了 django 项目。 使用以下命令安装 sqlparse 后,问题就解决了。
conda install sqlparse
django 2.1 需要 python 3.5+ 支持 manage.py 文件中的语法。
激活您的环境并验证您的 python 是 3.7 如果不是,则在创建 virtualenv 时指定您的 python 版本。
virtualenv -p /path/to/your/python3.7 code
尝试安装“sqlparse”。 它将在 Anaconda 中运行。
pip install sqlparse
尝试打开您的目录并右键单击该设置。 当你用pycharm打开它然后再次在终端上运行代码时
这是你的目录应该如何出现 nameofyourproject\
|--初始化.py
|-- 管理.py
|-- 设置.py
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.