I'm trying to create a simple python script and import a couple of custom classes. I'd like to do this as one module. Here is what I have:
point/point.py
class Point:
"""etc."""
point/pointlist.py
class PointList:
"""etc."""
point/__init__.py
from . import point, pointlist
script.py
import sys, point
verbose = False
pointlist = PointList()
When I run script.py
I get NameError: name 'PointList' is not defined
What's weird is that in point/, all three of the module files (__init__, pointlist, point) have a .pyc
version created that was not there before, so it seems like it is finding the files. The class files themselves also compile without any errors.
I feel like I'm probably missing something very simple, so please bear with me.
Sorry, I seem to have made a blunder in my earlier answer and comments:
The problem here is that you should access the objects in point
through the module you import:
point/__init__.py
:
from point import Point
from pointlist import PointList
script.py:
import sys, point
verbose = False
pointlist = point.PointList()
You access PointList
through the import point
which imports whatever is in __init__.py
If you want to access PointList
and Point
directly you could use from point import Point, PointList
in script.py
or the least preferable from point import *
Again, sorry for my earlier error.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With