python-shell
使用变量python-default- interpreter
来确定要使用哪个python解释器。当此变量的值为时cpython
,将查询变量python-python- command
和python-python-command- args
以确定要使用的解释器和参数。可以通过操纵这两个变量virtualenv.el
来设置当前的虚拟环境。
因此,当您使用python-shell
命令时,它可以毫无问题地使用您的虚拟环境。
但是,当您这样做时M-!
python
,就不会使用变量python-python-command
和python-python-command- args
。因此,它使用在路径中找到的python工具。
调用时,M-x
pdb
它使用gud-pdb-command-name作为默认的pdb工具。要重新定义此变量,每次激活环境时,都可以执行以下操作:
(defadvice virtualenv-activate (after virtual-pdb)
(custom-set-variables
'(gud-pdb-command-name
(concat virtualenv-active "/bin/pdb" ))))
(ad-activate 'virtualenv-activate)
要在您的虚拟环境中使用pdb,请执行以下操作:
cp /usr/bin/pdb /path/to/virtual/env/bin
然后,将/ path / to / virtual / env / bin / pdb的第一行编辑为:
#! /usr/bin/env python
重新激活您的env,Pdb现在应该使用您的virtualenv python而不是系统范围的python。