Issue 3314. The sys module is used in an error case.
diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py
index c92b5aa..dbb7c36 100644
--- a/Lib/test/test_urlparse.py
+++ b/Lib/test/test_urlparse.py
@@ -310,6 +310,10 @@
         self.assertEqual(urllib.parse.urlparse("http://example.com?blahblah=/foo"),
                          ('http', 'example.com', '', '', 'blahblah=/foo', ''))
 
+    def test_usingsys(self):
+        # Issue 3314: sys module is used in the error
+        self.assertRaises(TypeError, urllib.parse.urlencode, "foo")
+
 def test_main():
     support.run_unittest(UrlParseTestCase)
 
diff --git a/Lib/urllib/parse.py b/Lib/urllib/parse.py
index 8edc963..fe02db5 100644
--- a/Lib/urllib/parse.py
+++ b/Lib/urllib/parse.py
@@ -4,6 +4,8 @@
 UC Irvine, June 1995.
 """
 
+import sys
+
 __all__ = ["urlparse", "urlunparse", "urljoin", "urldefrag",
            "urlsplit", "urlunsplit"]
 
@@ -599,7 +601,6 @@
 """
 
 def test():
-    import sys
     base = ''
     if sys.argv[1:]:
         fn = sys.argv[1]