title: Python local module name shadowing standard lib in third package module
body: <p>I'm using <a href="https://github.com/vpelletier/python-libusb1" rel="nofollow noreferrer"><em>libusb1</em></a> and noticed an import error when there is a <em>platform</em> module in my main module:</p>
  
  <pre><code>Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "/home/duranda/.local/lib/python3.6/site-packages/usb1/__init__.py", line 61, in &lt;module&gt;
      from . import libusb1
    File "/home/duranda/.local/lib/python3.6/site-packages/usb1/libusb1.py", line 199, in &lt;module&gt;
      libusb = _loadLibrary()
    File "/home/duranda/.local/lib/python3.6/site-packages/usb1/libusb1.py", line 161, in _loadLibrary
      system = platform.system()
  AttributeError: module 'platform' has no attribute 'system'
  </code></pre>
  
  <p>This can be easily reproduced by launching a Python interpreter from a directory containing a <code>platform.py</code> or <code>platform/__init__.py</code> and then importing <em>usb1</em> using <code>import usb1</code>.</p>
  
  <p>How is it possible that a local module shadows another module (in this case the <code>platform</code> module from the standard lib) <strong>from a third party module</strong>? To the best of my knowledge, <em>libusb1</em> <a href="https://github.com/vpelletier/python-libusb1/blob/master/usb1/libusb1.py#L47" rel="nofollow noreferrer">imports <code>platform</code> directly</a> and doesn't do anything crazy with globals.</p>