diff --git a/ports.py b/ports.py
index 339e18c48eca05ef83c89d1d5fea8d55d641d3ca..148e1558b53aa0b5b81301ddb4bc1221a2bf1c2f 100644
--- a/ports.py
+++ b/ports.py
@@ -1,5 +1,18 @@
-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 sys
 import time