setup.py shouldn't fail if protoc path contains whitespace.
diff --git a/python/setup.py b/python/setup.py
index 3ae8fd9..f9b890e 100755
--- a/python/setup.py
+++ b/python/setup.py
@@ -11,6 +11,7 @@
 from distutils.spawn import find_executable
 import sys
 import os
+import subprocess
 
 maintainer_email = "protobuf@googlegroups.com"
 
@@ -42,8 +43,8 @@
           "or install the binary package.\n")
       sys.exit(-1)
 
-    protoc_command = protoc + " -I../src -I. --python_out=. " + source
-    if os.system(protoc_command) != 0:
+    protoc_command = [ protoc, "-I../src", "-I.", "--python_out=.", source ]
+    if subprocess.call(protoc_command) != 0:
       sys.exit(-1)
 
 def MakeTestSuite():