我刚刚在Django网站上关注this tutorial时首次安装了Python和Django,而这一部分的所有工作都运行得很好并且没有产生任何错误。
现在我在“开发服务器”部分,并在python manage.py runserver
所在的项目目录中运行命令manage.py
,我收到此错误:
分段错误
别无其他。
任何人都知道这里发生了什么以及如何解决这个问题?
如果重要,这是我的manage.py文件(django
行中的from django.core.management ...
在我的IDE(PyCharm)中标记为错误,错误显示为Unresolved reference 'django'
) :
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "davilex.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
答案 0 :(得分:2)
我在教程之后几乎逐字地说过同样的问题(除了我在Windows中使用git-bash,并使用“virtualenv”代替“mkvirtualenv”和“source projectdir / Scripts / activate”代替“ workon projectdir“。
运行
python -vvvvv manage.py runserver
给我一个警告,说我有需要运行的迁移(tutorial说要忽略)
python manage.py migrate
尽管教程说的是,在某些情况下,这可能不是你真正可以跳过的一步。在此之后,runserver正常运行。
答案 1 :(得分:2)
这在我的Django项目中发生了,我有很多带有C扩展名的软件包。运行Ubuntu系统软件包更新后,突然发现manage.py
命令段错误。事实证明,某些C扩展会将自身链接到系统库,如果程序包更新更改了这些库,则可能导致C扩展崩溃。
由于我已在Python virtualenv中安装了所有内容,因此我删除并重新生成了它,并修复了错误。
答案 2 :(得分:0)
我在mac上设置项目时遇到了类似的问题。最后,由于在DATABASES中设置的值,结果证明了它。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'blue9',
'USER': 'root',
'PASSWORD': 'root',
'PORT': '',
'HOST': ''
}
'PORT'和'HOST'的空值导致了问题。这些键不应具有空值。要么提供有限值,要么根本不指定它们。
答案 3 :(得分:0)
我认为这个问题与数据库配置有关,第一步检查postgres库安装配置
pip install psycopg2-binary==2.8.5
第二步 在Django项目设置中检查数据库配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '<database_name>',
'USER': '<user_name>',
'PASSWORD': '<password>',
'HOST': '<host-name>',
'PORT': '<port number : default : 5432>',
}
}
答案 4 :(得分:-2)
在运行迁移或运行服务器命令之前,只需输入sudo即可。 例如,如果要运行迁移,请使用
sudo python manage.py migrate
或者如果您想运行服务器
sudo python manage.py runserver