0

I am setting up a new django project and I'm getting the dreaded 'Could not import settings' error. I've set up many django projects before, and never had this problem. The differences with this one is that it's using python3.4, django 1.7, and it's on a VM (all my others were on <1.7, python 2 and a physical host). I've googled this and it's asked a lot, but none of the solutions work for me.

This is the error I'm getting:

vagrant@vagrant:/vagrant/elex_apis$ python3 manage.py migrate
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py",
line 94, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2231, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2214, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2189, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 2231, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2214, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2201, in _find_and_load_unlocked
ImportError: No module named '/vagrant/elex_apis/elex_apis/settings'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py",
line 385, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py",
line 345, in execute
    settings.INSTALLED_APPS
  File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py",
line 46, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py",
line 42, in _setup
    self._wrapped = Settings(settings_module)
  File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py",
line 98, in __init__
    % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings
'/vagrant/elex_apis/elex_apis/settings.py' (Is it on sys.path? Is
there an import error in the settings file?): No module named
'/vagrant/elex_apis/elex_apis/settings'

I'm checked all the usual things (The settings file is there, it's readable, I have an init,py file, my wsgi.py is good, my manage.py is good, and I can import it)

vagrant@vagrant:/vagrant/elex_apis$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import elex_apis.settings
>>>

Any assistance will be greatly appreciated.

3
  • 1
    Usually the No module named exception doesn't contain a path, but a module name (with dots). Try to figure out why you get a path, check your env. variables. Commented Nov 20, 2014 at 23:28
  • DJANGO_SETTINGS_MODULE was being set to a path. I removed that and now it works. Thanks! Commented Nov 20, 2014 at 23:32
  • Great :) Posted as answer Commented Nov 20, 2014 at 23:35

1 Answer 1

1

Usually the No module named exception doesn't contain a path, but a module name (with dots). Try to figure out why you get a path, check your DJANGO_SETTINGS_MODULE environment var.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.