Python virtualenv API for Emacs Lisp
Emacs integrates well with external tools written in languages other than Emacs Lisp and thus use of these tools should be encouraged. However, many people try to avoid using non-Emacs Lisp software tools since it makes installation of their Emacs plugin hard. python-environment.el solves this problem (only for the case the tool is written in Python) by providing virtualenv API in Emacs Lisp so that you can automate installation of tools written in Python.
Let's say you write Emacs plugin which uses Python script. Then you would want to setup Python modules for that script easily from Emacs. This is how to do that using python-environment.el
(require 'python-environment) (defun YOUR-PLUGIN-install-python-dependencies () (interactive) (python-environment-run "pip" "install" "epc"))
In your plugin, if you want the path to command installed in the virtualenv, do something like this
(start-process NAME BUFFER (python-environment-bin "COMMAND") ...)
Path to access COMMAND may be different in *nix and in Windows, but python-environment.el finds the right path.