从Emacs中获取pdb以从当前virtualenv中使用Python进程

问题描述 投票:21回答:4

我正在使用pdb在emacs中调试一些python代码,并遇到一些导入问题。依赖项安装在我指定的virtualenv环境之一中。

Pdb固执地使用/ usr / bin / python,而不是我virtualenv中的python进程。

我使用virtualenv.el来支持通过emacs中的环境以及通过]中描述的postactivate钩子进行环境切换>

http://jesselegg.com/archives/2010/03/14/emacs-python-programmers-2-virtualenv-ipython-daemon-mode/

这在运行M-x python-shell时很好用

>>> import sys
>>> print sys.path 

这指向我所有的virtualenv库,表明python-shell是我的virtualenv的。

然而,这与M-相矛盾!哪个python,给出/ usr / bin / python

有人知道我如何告诉M-x pdb从当前活动的virtualenv中采用python进程吗?

我正在使用pdb在emacs中调试一些python代码,并遇到一些导入问题。依赖项安装在我指定的virtualenv环境之一中。 Pdb顽固地使用/ usr / bin / ...

python emacs virtualenv pdb
4个回答
8
投票

python-shell使用变量python-default-interpreter确定要使用的python解释器。当此变量的值为cpython时,将查询变量python-python-commandpython-python-command-args以确定解释器以及要使用的参数。这两个变量由virtualenv.el操纵以设置当前的虚拟环境。


14
投票

像这样调用pdb:


1
投票

可能,您的pdb


0
投票
一种快速的解决方法是在虚拟环境中显式调用python解释器。
© www.soinside.com 2019 - 2024. All rights reserved.