Django CentOS 7 - 无法导入名称Col

时间:2015-04-04 03:12:47

标签: python django centos

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

就是这样。

2 个答案:

答案 0 :(得分:2)

我遇到了与我正在进行的Django安装相同的问题,结果发现fields.py是从较新版本的Django(1.7.x)中删除的,我已经(可能是不正确地)降级了。我卸载了Django,删除了site-packages下剩余的Django目录,然后重新安装它,这就解决了这个问题。

答案 1 :(得分:0)

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

sudo pip install Django==1.8.1 #version

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

代替RHEL中的sudo yum -y install python-django#,Fedora