I have pyvenv-tracking-mode set to t. I use pyvenv-workon via .dir-locals.el. I have:
+- proj_a
| +- a.py
| `- .dir-locals.el
`- proj_b
+- a.py
`- .dir-locals.el
% lsvirtualenv
proj_a
======
proj_b
======
;; proj_a/.dir_locals.el
(
(python-mode
(eval pyvenv-workon "proj_a"))
)
;; proj_b/.dir_locals.el
(
(python-mode
(eval pyvenv-workon "proj_b"))
)
I open …/proj_a/a.py and (pyvenv-workon "proj_a") is invoked for that buffer (M-x getenv PATH concurs).
Next, I open …/proj_b/b.py and (pyvenv-workon "proj_b") is invoked for that buffer (again, M-x getenv PATH concurs).
Now, I switch back to the already open buffer for …/proj_a/a.py. M-x getenv PATH still shows that proj_b is the active virtual environment.
#80 (comment) is vague. It suggests pyvenv-tracking-mode can be used, but fails to explain how.
I have
pyvenv-tracking-modeset tot. I usepyvenv-workonvia.dir-locals.el. I have:I open
…/proj_a/a.pyand(pyvenv-workon "proj_a")is invoked for that buffer (M-x getenv PATHconcurs).Next, I open
…/proj_b/b.pyand(pyvenv-workon "proj_b")is invoked for that buffer (again,M-x getenv PATHconcurs).Now, I switch back to the already open buffer for
…/proj_a/a.py.M-x getenv PATHstill shows thatproj_bis the active virtual environment.#80 (comment) is vague. It suggests
pyvenv-tracking-modecan be used, but fails to explain how.