Using Windows 10 with Spyder IDE running Python 3.5. I am seeing following in the __init__.py
file complaining about unable to detect undefined names
:
However, it seems __init__.py
file is in the same folders as all other files.
So why it is complaining? I tried to remove the leading dot in the front, but it still complains. Please give me some pointers.
Your IDE is complaining, not Python. When you do from simple import *
, you import everything exposed by simple
. This is typically not recommended because it pollutes the global namespace and may implicitly overwrite an existing object.
You get a warning instead of an error because this behavior is not always bad. Having an __init__.py
file that exposes objects from sub-modules is a very common pattern. As long as you understand the potential risks, just silence the warning:
from .input import * # NOQA
If your modules don't expose many objects, just import them by name:
from .input import A, B, C
This has the benefit of allowing Python code analysis tools to better understand your code and warn you of potential issues.
I had the same problem, the asterisk. I located the modules to call them as indicated by Blender
and it was solved
change the asterisk by the names of the modules
locate the names that have conflict
and as you add them up, the error will be silenced
Thanks for your comments, they helped me with the problem I had
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