首页 > 解决方案 > org-babel python 环境设置

问题描述

我尝试按照此处的最佳答案设置 python 虚拟环境: https ://emacs.stackexchange.com/questions/24267/using-org-babel-to-enable-virtualenv/38047 我尝试使用激活虚拟环境两种方法:source $PYENV/bin/activatepyvenv-workon $PYENV。我希望看到这个虚拟环境的输出which pythonwhich 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

标签: pythonemacsorg-modeorg-babel

解决方案


推荐阅读