Execute with Python virtual environment activated
with-venv
macro executes BODY with Python virtual environment activated:
(with-venv
(executable-find "python"))
This macro searchs for suitable venv directory for current environment
automatically: by default it supports pipenv
, poetry
, and directories
named ".venv"
and "venv"
.
You can modify with-venv-find-venv-dir-functions
to add or remove
these supports.
The automatic search result will be cached as a buffer-local variable, so
with-venv
try to find venv dir only at the first time it is used after
visiting file.
To explicitly update this cache (without re-visiting file) after you
created/changed a virtual environment, invoke M-x with-venv-find-venv-dir
manually.
You can also set buffer-local vairable with-venv-venv-dir
explicitly
to specify venv directory for with-venv
macro.
In this case, the automatic search will be totally disabled for that buffer.
If you want to always enable with-venv
for certain functions,
with-venv-advice-add
can be used for that purpose:
(with-venv-advice-add 'blacken-buffer)
Adviced functions are always wrapped with with-venv
macro when called.
Call with-venv-advice-remove
to remove these advices.
This software is licensed under Apache License 2.0 . See LICENSE
for details.