title: Python: Why should 'from <module> import *' be prohibited?
body: <p>If you happen to have</p>
  
  <pre><code>from &lt;module&gt; import *
  </code></pre>
  
  <p>in the middle of your program (or module), you would get the warning:</p>
  
  <pre><code>/tmp/foo:100: SyntaxWarning: import * only allowed at module level
  </code></pre>
  
  <p>I understand why <code>import *</code> is discouraged in general (namespace invisibility),
  but there are many situations where it would prove convenient, especially where
  code is not shared with anyone.</p>
  
  <p>So, can anyone explain precisely in detail why <code>from &lt;module&gt; import *</code> should
  be prohibited in all possible cases?</p>