问题
I am getting an error when I try to use syncdb
:
python manage.py syncdb
Error message:
File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 83, in __init__
raise EnvironmentError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
EnvironmentError: Could not import settings '/home/simi/workspace/hssn_svn/hssn' (Is it on sys.path? Does ti have syntax errors?): Import by filename is not supported.
I'm a newbie with Django/Python, but I can't figure this error out after having researched online for a while now.
回答1:
Your trace states:
Import by filename is not supported.
Which might indicate that you try to import (or maybe set the DJANGO_SETTINGS_MODULE) to the full python filename, where it should be a module path: your.module.settings
You could also try to specify your DJANGO_SETTINGS_MODULE directly from command line, like:
$ DJANGO_SETTINGS_MODULE=your.module.settings ./manage.py syncdb
回答2:
Make sure your settings.py file is in the same directory as manage.py (you will also have to run manage.py from this directory, i.e. ./manage.py syncdb), or make the environment variable DJANGO_SETTINGS_MODULE point to it.
回答3:
Another thing that gives this error is permissions - very hard to track down.
Solution for me was to move <myproject>
to /var/www/<myproject>
and do chown -R root:root /var/www/<myproject>
来源:https://stackoverflow.com/questions/911085/django-python-environmenterror