diff --git a/ports.py b/ports.py
index 6087c6bcab94f8b58b25dffe1f4e16c65ec55be0..e5793a2e7d2b2cfc600f423790ca62b2b3b7c46e 100644
--- a/ports.py
+++ b/ports.py
@@ -1,6 +1,15 @@
-import serial
-import serial.tools
+import subprocess
 import sys
+
+try:
+    import serial
+    import serial.tools
+except ImportError:
+    subprocess.check_call([sys.executable, "-m", "pip", "install", 'pyserial'])
+finally:
+    import serial
+    import serial.tools
+
 import time
 
 import serial.tools.list_ports