diff --git a/Demo/rpc/rpc.py b/Demo/rpc/rpc.py
index 4fbc795..71a2c1f 100644
--- a/Demo/rpc/rpc.py
+++ b/Demo/rpc/rpc.py
@@ -127,8 +127,13 @@
 	return p.get_buf()
 
 def make_auth_unix_default():
-	return make_auth_unix(0, socket.gethostname(), \
-		os.getuid(), os.getgid(), [])
+	try:
+		from os import getuid, getgid
+		uid = getuid()
+		gid = getgid()
+	except ImportError:
+		uid = gid = 0
+	return make_auth_unix(0, socket.gethostname(), uid, gid, [])
 
 
 # Common base class for clients
@@ -259,7 +264,11 @@
 		p.pack_callheader(xid, self.prog, self.vers, proc, cred, verf)
 
 	def do_call(self, *rest):
-		from select import select
+		try:
+			from select import select
+		except ImportError:
+			print 'WARNING: select not found, RPC may hang'
+			select = None
 		if len(rest) == 0:
 			bufsize = 8192
 		elif len(rest) > 1:
@@ -271,7 +280,9 @@
 		count = 5
 		self.sock.send(call)
 		while 1:
-			r, w, x = select([self.sock], [], [], timeout)
+			r, w, x = [self.sock], [], []
+			if select:
+				r, w, x = select(r, w, x, timeout)
 			if self.sock not in r:
 				count = count - 1
 				if count < 0: raise RuntimeError, 'timeout'
