我正在开始使用python,并且在使用django 2.1和python 3.7时遇到了很多其他人似乎也遇到过的问题。
下面是我到达这里的过程:
启动了虚拟环境
启动了django项目
尝试运行:
python manage.py runserver
我始终收到错误消息:ModuleNotFoundError:没有名为“设置”的模块
我对以下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)
我的文件结构如下:
mytodoapp
mytodoapp
>__init__.py >settings.py >urls.py >wsgi.py
manage.py
答案 0 :(得分:1)
我遇到了类似的问题。但是我在使用Anaconda时创建了django项目。使用以下命令安装sqlparse后,问题就解决了。
conda install sqlparse
答案 1 :(得分:1)
打开你的项目文件夹。
搜索 wsgi.py 文件并添加这一行。
from django.conf import settings.
然后保存。
找到 yr manage.py 文件编辑
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'projectname.settings')
到
os.environ['DJANGO_SETTINGS_MODULE' ]='projectname.settings'
保存和walla问题已修复。
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)