I feel like I should know this, having programmed in Python for as long as I have, but I'm constantly learning new things about the fine lanuaguge. The question I have (which may very well be a duplicate, however I haven't been able to find this same case) is this. I have a file layout like this:
websocket/
__init__.py
client.py
server.py
How can I import classes that are in the file __init__.py from client.py or server.py? Nice and simple :P Thanks in advance! My question isn't a duplicate of this because I am importing from inside the package, and at any rate, doing what the people did in the answer did not help at all.
解决方案
Names defined in a package __init__.py file are available as names in the package namespace itself.
Therefore, if you have a Connection class in your __init__ package, from inside the package you do import it the same way one making use of your package would: refer to it by the package name as in
from websocket import Connection
If for some reason your package is not configured in your pythonpath, or your directory name can change you can use a relative import - in tha case, refer to the current package just as . that means that in your client.py you can just do:
from . import Connection