from code import InteractiveInterpreter
 import dispatcher
 import introspect
-
+import wx
 
 class Interpreter(InteractiveInterpreter):
     """Interpreter based on code.InteractiveInterpreter."""
         self.more = 0
         # List of lists to support recursive push().
         self.commandBuffer = []
-        self.startupScript = os.environ.get('PYTHONSTARTUP')
+        self.startupScript = None
+        
 
     def push(self, command):
         """Send command to the interpreter to be executed.
         command we keep appending the pieces to the last list in
         commandBuffer until we have a complete command. If not, we
         delete that last list."""
-        command = str(command)  # In case the command is unicode.
+
+        # In case the command is unicode try encoding it
+        if type(command) == unicode:
+            try:
+                command = command.encode(wx.GetDefaultPyEncoding())
+            except UnicodeEncodeError:
+                pass # otherwise leave it alone
+                
         if not self.more:
             try: del self.commandBuffer[-1]
             except IndexError: pass