It is not only lispy but more compact. I tend to use just `and` when the executing body of what would be a `when` is just a sexp. Here's the `when` version, as you see I'm not using `and` but the indentation is also similar (and greater in predicates) than what's sent:

    (defun jedi:import-python-el-settings-setup ()
      "Make jedi aware of python.el virtualenv and path settings.
    This is automatically added to the `jedi-mode-hook' when
    `jedi:import-python-el-settings' is non-nil."
      (let ((args))
        (when (and (boundp 'python-shell-extra-pythonpaths)
                   python-shell-extra-pythonpaths)
          (mapc
           (lambda (path)
             (setq args (append (list "--sys-path" path) args)))
           python-shell-extra-pythonpaths))
        (when (and (boundp 'python-shell-virtualenv-path)
                   python-shell-virtualenv-path)
          (setq args
                (append
                 (list "--virtual-env" python-shell-virtualenv-path)
                 args)))
        (when args (set (make-local-variable 'jedi:server-args) args))))

And even with `and`, you can have a more compact indent, just I didn't choose to use it, but here's the example:

    (defun jedi:import-python-el-settings-setup ()
      "Make jedi aware of python.el virtualenv and path settings.
    This is automatically added to the `jedi-mode-hook' when
    `jedi:import-python-el-settings' is non-nil."
      (let ((args))
        (and
         (boundp 'python-shell-extra-pythonpaths)
         python-shell-extra-pythonpaths
         (mapc
          (lambda (path)
            (setq args (append (list "--sys-path" path) args)))
          python-shell-extra-pythonpaths))
        (and
         (boundp 'python-shell-virtualenv-path)
         python-shell-virtualenv-path
         (setq args
               (append
                (list "--virtual-env" python-shell-virtualenv-path)
                args)))
        (and args (set (make-local-variable 'jedi:server-args) args))))

From the readability standpoint I would agree `when` might feel more natural for some, but the `and` shouldn't be a weird thing either, because the execution is straightforward (and check this, and check that and do this).
 
I would change the stuff right-away but short-circuitry is beautiful and I feel it deserved some defense words in favor :)