Skip to content Skip to sidebar Skip to footer

Python Import Module Results In NameError

I'm having a module import issue. using python 2.6 on ubuntu 10.10 I have a class that subclasses the daemon at http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_

Solution 1:

With from my_module.core.daemon import Daemon you do not actually bind the loaded module my_module to a variable. Use import my_module just before or after your other imports to do that.

Explained in code:

>>> from xml import dom
>>> xml
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'xml' is not defined
>>> import xml
>>> xml
<module 'xml' from '/usr/lib/python2.6/xml/__init__.pyc'>

Solution 2:

It ended up being that I needed to reference the fully qualified name of my app in my Django project's settings.py file in the INSTALLED_APPS setting. "someproj.web" instead of just "web". Using the shorter version works fine within a Django project, just not so well from the outside.


Solution 3:

you get me confused what do you mean "your Django project" is your module "my_module" is part of an higher package? something like this

django_project
    |
    |my_module
        __init__.py
        - bin
        - cfg
        - core
           __init__.py
           collection.py
           daemon.py

if so , and if like you said django_project is in PYTHONPATH , so you should just import my_module like this:

from django_project.my_module.core.daemon import Daemon

by the way it's preferable to import module no class neither function like this:

from django_project.my_module.core import daemon

and use it like this:

daemon.Daemon()

Post a Comment for "Python Import Module Results In NameError"