Django:'python manage.py runserver'给出了“分段错误”错误

时间:2016-01-12 04:33:28

标签: python django

我刚刚在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)

5 个答案:

答案 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