26
votes

I have the following code, copied from the Python manual:

import logging
LOG_FILENAME = 'example.log'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)

logging.debug('This message should go to the log file')

When I try to run the script (via python.exe script.py) I get an error of 'module' object has no attribute 'basicConfig'.

However when I copy and paste the code in interactive mode (via python.exe then copy and pasting the actual code) I get no error. The code runs fine.

I have python 2.6.6.

Thank you!

4

4 Answers

67
votes

You've got another module called logging on the python path; probably a file logging.py in the same directory. Compare print logging.__file__.

13
votes

You Need to Change your script name into something else rather than logging.py I guess. (You are using that name for this script aren't you?

0
votes

Change your file name instead of logging.py absolutely it will work because I faced same problem after importing logging module name so don't give a logging name to your python file.

0
votes

I have faced the same attribute error while running and when checked with current working folder there are 2 filenames with logging. Delete those filenames or move to recycle bin or if imp move to different folder or change names for those logging files and run your program. It will work fine.