From 4cebeb092e43354a878683eddb203911460d2da2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 20 Mar 2017 04:22:50 -0400 Subject: [PATCH] lang/python: add bootstrap --- modules/lang/python/packages.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/lang/python/packages.el b/modules/lang/python/packages.el index c994f2ba6..6602246c9 100644 --- a/modules/lang/python/packages.el +++ b/modules/lang/python/packages.el @@ -7,3 +7,20 @@ (when (featurep! :completion company) (package! company-anaconda)) + +;; +(def-bootstrap! python + ;; Since there are so many possible setups for a python environment (pyenv, + ;; virtualenv, etc), I'll leave it to you and only take care of installing + ;; dependencies available via pip. + (unless (executable-find "python") + (error "python isn't installed")) + (unless (executable-find "pip") + (error "pip isn't installed")) + (when-let (pkgs (cl-remove-if + (lambda (pkg) (zerop (shell-command (format "pip show %s" pkg)))) + '("jedi" "setuptools"))) + (funcall (if (file-writable-p (executable-find "pip")) 'sh 'sudo) + "pip install %s" + (string-join pkgs " ")) + t))