diff --git a/serial/__init__.py b/serial/__init__.py
index 56f24e5..78bdd19 100644
--- a/serial/__init__.py
+++ b/serial/__init__.py
@@ -23,7 +23,7 @@
     if os.name == 'nt':  # sys.platform == 'win32':
         from serial.serialwin32 import Serial
     elif os.name == 'posix':
-        from serial.serialposix import Serial, PosixPollSerial, VTIMESerial
+        from serial.serialposix import Serial, PosixPollSerial, VTIMESerial # noqa
     elif os.name == 'java':
         from serial.serialjava import Serial
     else:
@@ -66,7 +66,7 @@
             module_name = '.protocol_%s' % (protocol,)
             for package_name in protocol_handler_packages:
                 try:
-                    package = importlib.import_module(package_name)
+                    importlib.import_module(package_name)
                     handler_module = importlib.import_module(module_name, package_name)
                 except ImportError:
                     continue
diff --git a/serial/serialcli.py b/serial/serialcli.py
index 3070948..def15bb 100644
--- a/serial/serialcli.py
+++ b/serial/serialcli.py
@@ -7,7 +7,6 @@
 #
 # SPDX-License-Identifier:    BSD-3-Clause
 
-import clr
 import System
 import System.IO.Ports
 from serial.serialutil import *
@@ -168,7 +167,7 @@
         while size:
             try:
                 data.append(self._port_handle.ReadByte())
-            except System.TimeoutException as e:
+            except System.TimeoutException:
                 break
             else:
                 size -= 1
@@ -184,7 +183,7 @@
             # must call overloaded method with byte array argument
             # as this is the only one not applying encodings
             self._port_handle.Write(as_byte_array(data), 0, len(data))
-        except System.TimeoutException as e:
+        except System.TimeoutException:
             raise writeTimeoutError
         return len(data)
 
@@ -273,4 +272,3 @@
     s.port = 0
     s.open()
     sys.stdio.write('%s\n' % s)
-
diff --git a/serial/serialjava.py b/serial/serialjava.py
index e9ac19b..e5f4451 100644
--- a/serial/serialjava.py
+++ b/serial/serialjava.py
@@ -267,4 +267,3 @@
     sys.stdio.write('%r\n' % s.read(5))
     sys.stdio.write('%s\n' % s.in_waiting())
     del s
-
