Django CentOS 7 - 无法导入名称 Col

Django CentOS 7 - cannot import name Col

我在CentOS 7.0 版本上安装了Django。

#yum install python-pip
#pip install django
#cd /home
#django-admin startproject mysite
#cd mysite
#python manage.py runserver 0.0.0.0:8000

当我在网络浏览器上访问 http://domain.com:8000 时,我看到以下错误。

ImportError at /
cannot import name Col
Request Method: GET
Request URL:    http://domain.com:8000/
Django Version: 1.6.10
Exception Type: ImportError
Exception Value:    
cannot import name Col
Exception Location: /usr/lib/python2.7/site-packages/django/contrib/contenttypes/fields.py in <module>, line 13
Python Executable:  /usr/bin/python
Python Version: 2.7.5

它应该可以在 CentOS 6.3 上运行,但我认为它在 CentOS 7.0 上会有所不同

我看了fields.py 文件

============================================

from __future__ import unicode_literals

from collections import defaultdict

from django.core import checks
from django.core.exceptions import ObjectDoesNotExist
from django.db import connection
from django.db import models, router, transaction, DEFAULT_DB_ALIAS
from django.db.models import signals, FieldDoesNotExist, DO_NOTHING
from django.db.models.base import ModelBase
from django.db.models.fields.related import ForeignObject, ForeignObjectRel
from django.db.models.related import PathInfo
from django.db.models.sql.datastructures import Col
from django.contrib.contenttypes.models import ContentType
from django.utils import six
from django.utils.deprecation import RenameMethodsBase, RemovedInDjango18Warning

来自 django.utils.encoding 导入 smart_text, python_2_unicode_compatible

原来是这样。

我在安装 Django 时遇到了同样的问题,结果发现 fields.py 是我安装的较新版本的 Django (1.7.x) 遗留下来的 (可能不正确)从降级。我卸载了 Django,删除了 site-packages 下剩余的 Django 目录,然后重新安装,问题就解决了。

为了其他人的利益,我的建议是 - 回购通常安装可用的包。重新安装将再次重新安装相同的错误包。对于基于 python 的项目,请使用代码

sudo pip install Django==1.8.1 #version

(确保python-pip在使用命令前已安装)

而不是 sudo yum -y install python-django # 在 RHEL 中,Fedora