如何在Windows机器上定义.pdbrc文件?

4

我该如何在我的Windows机器上定义.pdbrc文件?

我的.pdbrc文件:

alias sl s;;l
alias nl n;;l
alias cl c;;l

阅读了这个问题的答案后,我尝试将它放在C:\Users\<my_user>中。通过启动pdb.set_trace(),我尝试使用别名,但是它们未被识别。
我想知道如何在全局范围内和虚拟环境中设置.pdbrc文件。

import os; print(os.path.abspath(os.path.expanduser('~'))) 会给你什么结果?另外,你的HOME环境变量呢?想必它们是一样的... - Wayne Werner
@WayneWerner 我没有 HOME 环境变量。它在 Windows 机器上默认存在吗? - Aviv Cohn
@WayneWerner 无论如何,我刚刚创建了它并将其设置为 C:\Users\<my_user>。你给出的Python表达式打印出相同的结果。然而,.pdbrc仍然不起作用。 - Aviv Cohn
@WayneWerner 我的错,重启 cmd.exe 后别名现在可以使用了!我猜我需要设置 HOME 环境变量。你想把这个作为答案发布吗?谢谢。 - Aviv Cohn
2
这个问题应该在pdb中得到解决。它正在检查HOME而不是使用跨平台的替代方法os.path.expanduser('~') - Eryk Sun
作为后续说明--一些用户似乎将HOME设置为系统级环境变量,等于%HOMEDRIVE%%HOMEPATH%。在Windows 10上,这会按照当前用户的期望进行扩展,但是在Win 7上(至少使用默认配置),它不会扩展,可能是因为系统环境变量必须在用户环境变量之前定义,因此无法扩展。显然,如果不扩展,则找不到用户的.pdbrc文件。 - Jonathan March
1个回答

1

pdb 寻找未在Windows中默认定义的HOME系统变量,你需要自己定义它。

这个问题是因为*nix操作系统(Linux、Unix、Darwin等)中的每个用户都有一个/home目录,他们可以在其中放置运行代码,如.pdbrc。这个目录的路径存在一个系统变量(HOME)中,应用程序用它来指向用户的个人文件。Windows没有类似于此的东西。在Windows上与/home最接近的类比可能是C:\Users\<username>

以下是如何定义一个包含路径C:\Users\<username>HOME系统变量。单击启动按钮,然后右键单击“计算机”,选择“属性”。

Click the startup menu > right click "Computer" > select "Properties"

在左上角,点击“高级系统设置”链接。

Click advanced system settings

这将弹出“系统属性”对话框。在“高级”选项卡上,点击“环境变量…”按钮。

Click the "Environment Variables..." button

这会弹出“环境变量”对话框。在顶部的“用户变量(<用户名>)”部分,点击“新建...”按钮。

Press "New..." in the User Variables section

在“变量名称”中输入“HOME”,在“变量值”中输入C:\Users\<username>

Enter "HOME" and path to what you want HOME to be

如果已经存在一个HOME变量,只需在当前值和新路径之间放置分号。当应用程序使用HOME变量时,它通常会按顺序搜索内容。如果您希望首先找到新路径,请将其放在列表中的第一位。
点击“确定”按钮并重新启动运行pdb的任何应用程序(例如cmd.exe)。确保您的.pdbrc文件位于C:\Users\中。再次运行pdb时,它现在应该在启动时读取您的.pdbrc文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接