diff --git a/nox.py b/nox.py
index 9811e9f..03983cc 100644
--- a/nox.py
+++ b/nox.py
@@ -23,5 +23,7 @@
     session.install('flake8', 'flake8-import-order')
     session.run(
         'flake8',
-        '.',
+        '--import-order-style', 'google',
+        'compiler', 'runtime', 'tests',
+        'nox.py',
     )
diff --git a/runtime/support.py b/runtime/support.py
index fcfc04e..c72a128 100644
--- a/runtime/support.py
+++ b/runtime/support.py
@@ -106,6 +106,7 @@
         Directory where contents were extracted to.
     """
     extract_dir = tempfile.mkdtemp()
+
     def _extract_files_cleanup():
         shutil.rmtree(extract_dir, ignore_errors=True)
     atexit.register(_extract_files_cleanup)
@@ -270,6 +271,7 @@
                     pkg_resources.working_set.add(dist, entry, insert=False,
                                                   replace=True)
 
+
 def _initialize_import_path(import_roots, import_prefix):
     """Add extra entries to PYTHONPATH so that modules can be imported."""
     # We try to match to order of Bazel's stub
@@ -313,7 +315,7 @@
         # there for imports.
         sys.path[0] = extract_dir
         import_prefix = extract_dir
-    else: # Import directly from .par file
+    else:  # Import directly from .par file
         extract_dir = None
         import_prefix = archive_path
 
diff --git a/runtime/support_test.py b/runtime/support_test.py
index e3a2741..565adb1 100644
--- a/runtime/support_test.py
+++ b/runtime/support_test.py
@@ -15,7 +15,6 @@
 import io
 import os
 import sys
-import tempfile
 import unittest
 import zipfile
 
@@ -57,7 +56,8 @@
         cls.entry_data = entry_data
 
         # Create mock loader object
-        class MockLoader(object): pass
+        class MockLoader(object):
+            pass
         mock_loader = MockLoader()
         mock_loader.archive = zipfile_name
         mock_loader.prefix = ''
@@ -112,13 +112,16 @@
             self.assertEqual(actual_data, self.entry_data)
 
     def test__version_check(self):
-        class MockModule(object): pass
+        class MockModule(object):
+            pass
 
         class MockOldWorkingSet(object):
-            def add(self, dist, entry=None, insert=True): pass
+            def add(self, dist, entry=None, insert=True):
+                pass
 
         class MockNewWorkingSet(object):
-            def add(self, dist, entry=None, insert=True, replace=False): pass
+            def add(self, dist, entry=None, insert=True, replace=False):
+                pass
 
         pkg_resources = MockModule()
         self.assertFalse(support._version_check_pkg_resources(pkg_resources))
@@ -136,7 +139,8 @@
             mock_sys_path = list(sys.path)
             mock_sys_path[0] = self.zipfile_name
             sys.path = mock_sys_path
-            success = support.setup(import_roots=['some_root', 'another_root'], zip_safe=True)
+            success = support.setup(import_roots=['some_root', 'another_root'],
+                                    zip_safe=True)
             self.assertTrue(success)
         finally:
             sys.path = old_sys_path
diff --git a/tests/package_extract/extract.py b/tests/package_extract/extract.py
index 96c8b71..22dda8e 100644
--- a/tests/package_extract/extract.py
+++ b/tests/package_extract/extract.py
@@ -39,5 +39,6 @@
     dat = pkgutil.get_data('extract_helper_package', 'extract_dat.txt')
     assert (dat == b'Dummy data file for extract.py\n'), dat
 
+
 if __name__ == '__main__':
     main()
