Python name 'os' is not defined


I am trying to run this python module

from settings import PROJECT_ROOT

DEBUG = True

    'default': {
        'ENGINE':  'django.db.backends.sqlite3',
        'NAME' : os.path.join(BASE_DIR, 'db_name.sqlite3'),

# Make this unique, and don't share it with anybody.
SECRET_KEY = 'sdfgtardyure34654356435'

# Python dotted path to the WSGI application used by Django's runserver; added in v1.4
WSGI_APPLICATION = 'wsgi.application'

############### PYSEC specific variables

# assumes this directory exists
DATA_DIR = "%s/pysec/data/" % PROJECT_ROOT

But whenever i try to run it by F5 i get this

Traceback (most recent call last):
  File "C:\Python27\pysec-master\", line 11, in <module>
    'NAME' : os.path.join(BASE_DIR, 'db_name.sqlite3'),
NameError: name 'os' is not defined

The module lives in the C:\Python27\pysec-master and i got pysec for here

Do you know what must i do to run the module with success?

This question is tagged with python import

~ Asked on 2014-04-13 20:35:40

The Best Answer is


Just add:

import os

in the beginning, before:

from settings import PROJECT_ROOT

This will import the python's module os, which apparently is used later in the code of your module without being imported.

~ Answered on 2014-04-13 20:37:54


The problem is that you forgot to import os. Add this line of code:

import os

And everything should be fine. Hope this helps!

~ Answered on 2014-04-13 20:37:07

Most Viewed Questions: