您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

因此,当您使用python-shell命令时,它可以毫无问题地使用您的虚拟环境。

但是,当您这样做时M-! python,就不会使用变量python-python-commandpython-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。

python 2022/1/1 18:33:51 有214人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶