Function: python-shell-calculate-process-environment
python-shell-calculate-process-environment is a byte-compiled function
defined in python.el.gz.
Signature
(python-shell-calculate-process-environment)
Documentation
Calculate process-environment or tramp-remote-process-environment.
Prepends python-shell-process-environment, sets extra
pythonpaths from python-shell-extra-pythonpaths and sets a few
virtualenv related vars. If default-directory points to a
remote host, the returned value is intended for
tramp-remote-process-environment.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/python.el.gz
(defun python-shell-calculate-process-environment ()
"Calculate `process-environment' or `tramp-remote-process-environment'.
Prepends `python-shell-process-environment', sets extra
pythonpaths from `python-shell-extra-pythonpaths' and sets a few
virtualenv related vars. If `default-directory' points to a
remote host, the returned value is intended for
`tramp-remote-process-environment'."
(let* ((remote-p (file-remote-p default-directory))
(process-environment (if remote-p
tramp-remote-process-environment
process-environment))
(virtualenv (when python-shell-virtualenv-root
(directory-file-name python-shell-virtualenv-root))))
(dolist (env python-shell-process-environment)
(pcase-let ((`(,key ,value) (split-string env "=")))
(setenv key value)))
(when python-shell-unbuffered
(setenv "PYTHONUNBUFFERED" "1"))
(when python-shell-extra-pythonpaths
(setenv "PYTHONPATH" (python-shell-calculate-pythonpath)))
(if (not virtualenv)
process-environment
(setenv "PYTHONHOME" nil)
(setenv "VIRTUAL_ENV" virtualenv))
process-environment))