0

This question answers where spacemacs looks for conda environments and how to change them with major-mode pyvenv-workon.

There's one environment that I use for 90% of what I do. Can I set a default environment for the python layer or is it more reasonable to have a init for the python layer that calls pyvenv-workon? I'm new to emacs and spacemacs, so how would I do either of these?

There doesn't appear to be a specific variable in the python layer and the dotspacemacs/user-config () would run on any layer, so I might not want that. Despite that, what I did was write (pyvenv-workon "path/to/default/conda") in the user-config () and it seems to work for python code and likely others, but I'm not sure if it will break anything that relies on the system python.

1 Answers1

0

I think I figured it out while trying to learn git. Since Spacemacs has project management tools, if it identifies the file to be in a project, it will includes a .dir-local.el file to set local parameters. Because of the ,Vw command (which calls major-mode pyvenv-workon) my .dir-locals.el file looks like,

;;; Directory Local Variables ;;; For more information see (info "(emacs) Directory Variables")

((python-mode (python-shell-virtualenv-root . /home/john/miniconda3/envs/physics)))

So if you're in a project, setting pyvenv values once is enough if you've got the file in a project. I'm not sure if Spacemacs recognizes project types other than git, but I think I got it.