4

运行时syncdb出现错误“ImportError: No module named south. 有什么建议吗?Django 1.5.1 和 Python 2.7.5

我认为 South 已经安装了,因为我刚刚跑easy_install south

[ckoziak@web415 mvp_landing]$ easy_install south
Searching for south
Best match: South 0.8.1
Processing South-0.8.1-py2.4.egg
South 0.8.1 is already the active version in easy-install.pth

Using /home/ckoziak/lib/python2.4/South-0.8.1-py2.4.egg
Processing dependencies for south
Finished processing dependencies for south

但在此之前,我跑了pip install south,得到:

[ckoziak@web415 mvp_landing]$ ls
join  manage.py  mvp_landing  static
[ckoziak@web415 mvp_landing]$ pip install south
Traceback (most recent call last):
File "/home/ckoziak/bin/pip", line 7, in ?
sys.exit(
File "/usr/local/lib/python2.4/site-packages/pkg_resources.py", line 277, in       load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/local/lib/python2.4/site-packages/pkg_resources.py", line 2180, in load_entry_point
return ep.load()
File "/usr/local/lib/python2.4/site-packages/pkg_resources.py", line 1913, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/home/ckoziak/lib/python2.4/pip-1.4-py2.4.egg/pip/__init__.py", line 10, in ?
from pip.util import get_installed_distributions, get_prog
File "/home/ckoziak/lib/python2.4/pip-1.4-py2.4.egg/pip/util.py", line 17, in ?
from pip.vendor.distlib import version
File "/home/ckoziak/lib/python2.4/pip-1.4-py2.4.egg/pip/vendor/__init__.py", line 8
from __future__ import absolute_import
SyntaxError: from __future__ imports must occur at the beginning of the file

'south'在我的设置文件中。我有__init__加入他们的本地和现场版本

__init__

from .base import *

try:
    from .local import *
except:
    pass

try:
    from .live import *
except:
    pass

.local(设置文件),减去数据库信息:

MEDIA_ROOT = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "static", "media")

STATIC_ROOT =  os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "static", "static-only")

STATICFILES_DIRS = (
    os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "static", "static"),
)

TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "static", "templates"),
    )
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',
'south',
'join',
)   

.live(设置文件)尚未设置数据库:

MEDIA_ROOT = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "static", "media")

STATIC_ROOT =  os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "static", "static-only")

STATICFILES_DIRS = (
    os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "static", "static"),
)

TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "static", "templates"),
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    'django.contrib.admindocs',
    'south',
    'join',
)   
4

1 回答 1

1

错误消息说您安装了南到 Python 2.4。

您应该将南安装到 python 2.7。

于 2013-08-03T06:28:47.067 回答