I just tried on my Windows machine, and got the following error: Debugger entered--Lisp error: (file-error "Opening output file" "invalid argument" "c:/Users/stanton/AppData/Local/Temp/*c:/python27/Scripts/IPython.bat*7800HUF.py") write-region(1 5270 "c:/Users/stanton/AppData/Local/Temp/*c:/python27/Scripts/IPython.bat*7800HUF.py" nil t nil ask) (let* ((pop-up-windows py-shell-switch-buffers-on-execute-p) (shell (or shell (py-choose-shell))) (regbuf (current-buffer)) (py-execute-directory (or (ignore-errors (file-name-directory (buffer-file-name))) (getenv "WORKON_HOME") (getenv "HOME"))) (strg (buffer-substring-no-properties start end)) (sepchar (or sepchar (py-separator-char))) (name (py-shell-name-prepare shell sepchar)) (temp (make-temp-name name)) (file (concat (expand-file-name temp py-temp-directory) ".py")) (filebuf (get-buffer-create file)) (proc (or (get-process name) (get-process (py-shell nil dedicated (or shell (downcase shell)) switch sepchar)))) (procbuf (if dedicated (buffer-name (get-buffer (current-buffer))) (buffer-name (get-buffer (py-process-name name dedicated nostars sepchar))))) (pec (if (string-match "Python *3" name) (format "exec(compile(open('%s').read(), '%s', 'exec')) # PYTHON-MODE\n" file file) (format "execfile(r'%s') # PYTHON-MODE\n" file))) (wholebuf (when (boundp (quote wholebuf)) wholebuf)) (comint-scroll-to-bottom-on-output t) erg) (set-buffer filebuf) (erase-buffer) (insert strg) (unless wholebuf (py-fix-start (point-min) (point-max)) (py-if-needed-insert-shell name) (py-insert-coding) (py-insert-execute-directory)) (set-buffer filebuf) (write-region (point-min) (point-max) file nil t nil (quote ask)) (set-buffer-modified-p (quote nil)) (kill-buffer filebuf) (if (file-readable-p file) (progn (when (string-match "IPython" (process-name proc)) (unless (get-process "*IPython*") (sit-for py-ipython-execute-delay))) (setq erg (py-execute-file-base proc file pec)) (setq py-exception-buffer (cons file (current-buffer))) (cond ((eq switch (quote switch)) (if py-split-windows-on-execute-p (progn (delete-other-windows) (funcall py-split-windows-on-execute-function)) (set-buffer regbuf)) (set-buffer procbuf) (switch-to-buffer (current-buffer)) (goto-char (point-max))) ((eq switch (quote noswitch)) (when py-split-windows-on-execute-p (delete-other-windows) (funcall py-split-windows-on-execute-function)) (set-buffer regbuf) (switch-to-buffer (current-buffer))) ((and py-shell-switch-buffers-on-execute-p py-split-windows-on-execute-p) (funcall py-split-windows-on-execute-function) (switch-to-buffer (current-buffer)) (switch-to-buffer regbuf) (pop-to-buffer procbuf)) (py-split-windows-on-execute-p (delete-other-windows) (pop-to-buffer procbuf) (set-buffer procbuf) (funcall py-split-windows-on-execute-function) (switch-to-buffer regbuf)) (py-shell-switch-buffers-on-execute-p (set-buffer procbuf) (switch-to-buffer (current-buffer)))) (unless (string= (buffer-name (current-buffer)) procbuf) (when py-verbose-p (message "Output buffer: %s" procbuf))) (sit-for 0.1) (unless py-execute-keep-temporary-file-p (delete-file file) (when (buffer-live-p file) (kill-buffer file))) erg) (message "%s not readable. %s" file "Do you have write permissions?"))) py-execute-base(1 5270 nil nil nil) (let ((shell (cond ((eq 4 (prefix-numeric-value shell)) (default-value (quote py-shell-name))) ((and (numberp shell) (not (eq 1 ...))) (read-from-minibuffer "(path-to-)shell-name: " (default-value (quote py-shell-name)))) (t shell)))) (py-execute-base start end shell dedicated switch)) py-execute-region(1 5270 nil nil nil) (let ((wholebuf t) (py-master-file (or py-master-file (py-fetch-py-master-file))) beg end) (when py-master-file (let* ((filename (expand-file-name py-master-file)) (buffer (or (get-file-buffer filename) (find-file-noselect filename)))) (set-buffer buffer))) (setq beg (point-min)) (setq end (point-max)) (py-execute-region beg end shell dedicated switch)) (save-excursion (let ((wholebuf t) (py-master-file (or py-master-file (py-fetch-py-master-file))) beg end) (when py-master-file (let* ((filename (expand-file-name py-master-file)) (buffer (or (get-file-buffer filename) (find-file-noselect filename)))) (set-buffer buffer))) (setq beg (point-min)) (setq end (point-max)) (py-execute-region beg end shell dedicated switch))) py-execute-buffer(nil) call-interactively(py-execute-buffer nil nil)