在带有 miniconda 安装的 emacs 中使用 pdb

Using pdb in emacs with a miniconda install

我正在尝试将 pdb 用作 emacs 中的 python 调试器

我遇到导入错误问题,如:

https://emacs.stackexchange.com/questions/18190/missing-modules-when-debugging-python-code-in-emacs

How to specifiy path when using pdb in emacs?

建议的解决方案,即

(setenv "PYTHONPATH" "lib")

.emacsemacs.d/init.el

这似乎非常不令人满意,因为您正在有效地复制 pythonpath 数据,当您更新一个数据而不是另一个数据时,这会在某个时候使您出错。

如何才能使 pdb 使用的 pythonpath 与我打开 ipython shell.

换句话说,我希望 pdb 反映在我打开 ipython[=25= 时从我的 .bashrcminiconda 安装自动加载的路径位置]

此外,ipython 如何知道将哪个 miniconda 目录拉入 pythonpath?指定的是哪个文件?

  1. 找出你的 miniconda 安装位置,对我来说是:

    ~/miniconda2

  2. 确保您的 .bashrc PATH 正在选择 miniconda python 安装 before 任何默认 linux 安装,即它在 /usr/bin/

  3. 之前查找 ~/miniconda2/bin
  4. Dired 变成 ~/miniconda2/lib/python2.7

  5. 'S' 创建软符号 link 到 pdb.py,将 link 放在 ~/miniconda2/bin 中并调用它 pdb2.7

  6. Dired 变成 ~/miniconda2/bin

  7. 'S' 创建一个软符号 link 到 pdb2.7,将 link 放在同一个目录中并将其命名为 pdb

  8. 现在,当您 运行 M-x pdb 调用 python 调试器时,它应该选择正确的版本并且不会抱怨缺少任何模块

在此之前,它从 /usr/bin 获取 pdb,因此所有模块导入失败。这些步骤只是复制在该目录中找到的一组 symlinks,但使用 miniconda 等效文件和 dirs