Я попытался настроить виртуальную среду Python, следуя приведенному здесь верхнему ответу: https://emacs.stackexchange.com/questions/24267/using-org-babel-to-enable-virtualenv/38047 Я попытался активировать виртуальную среду двумя способами: source $PYENV/bin/activate
и pyvenv-workon $PYENV
.Я ожидаю, что выходные данные which python
и which pip
вернутся к этой виртуальной среде, но она использует основную установку Python на компьютере.Однако путь к $VIRTUAL_ENV
правильный.Аналогично, последний блок кода также не использует виртуальную среду, как ожидалось.Есть идеи, что мне не хватает?
#+BEGIN_SRC bash :dir ~/ :results drawer
pwd
python3 -m venv py3_venv
#+END_SRC
#+RESULTS:
:RESULTS:
/home/jj
:END:
#+BEGIN_SRC bash :dir ~/ :results raw drawer
source py3_venv/bin/activate
#+END_SRC
#+RESULTS:
:RESULTS:
:END:
https://emacs.stackexchange.com/questions/24267/using-org-babel-to-enable-virtualenv/38047
#+BEGIN_SRC elisp :session venv-py3 :results raw drawer
(pyvenv-workon "py3_venv")
#+END_SRC
#+RESULTS:
:RESULTS: nil
:END:
#+BEGIN_SRC sh :session venv-py3
echo $VIRTUAL_ENV
echo $PYTHONPATH
which python
which pip
#+END_SRC
#+RESULTS:
| /home/jj/.virtualenvs/py3_venv
|
|
|
| /home/jj/anaconda3/bin/python
|
| /home/jj/anaconda3/bin/pip |
#+BEGIN_SRC python :results output :session venv-py3
import sys \
print('\n'.join(sys.path))
#+END_SRC
#+RESULTS:
: /home/jj/anaconda3/lib/python37.zip
: /home/jj/anaconda3/lib/python3.7
: /home/jj/anaconda3/lib/python3.7/lib-dynload
: /home/jj/anaconda3/lib/python3.7/site-packages