我该如何在我的Windows机器上定义.pdbrc
文件?
我的.pdbrc
文件:
alias sl s;;l
alias nl n;;l
alias cl c;;l
阅读了这个问题的答案后,我尝试将它放在
C:\Users\<my_user>
中。通过启动pdb.set_trace()
,我尝试使用别名,但是它们未被识别。我想知道如何在全局范围内和虚拟环境中设置
.pdbrc
文件。pdb
寻找未在Windows中默认定义的HOME
系统变量,你需要自己定义它。
这个问题是因为*nix操作系统(Linux、Unix、Darwin等)中的每个用户都有一个/home
目录,他们可以在其中放置运行代码,如.pdbrc
。这个目录的路径存在一个系统变量(HOME
)中,应用程序用它来指向用户的个人文件。Windows没有类似于此的东西。在Windows上与/home
最接近的类比可能是C:\Users\<username>
。
以下是如何定义一个包含路径C:\Users\<username>
的HOME
系统变量。单击启动按钮,然后右键单击“计算机”,选择“属性”。
在左上角,点击“高级系统设置”链接。
这将弹出“系统属性”对话框。在“高级”选项卡上,点击“环境变量…”按钮。 这会弹出“环境变量”对话框。在顶部的“用户变量(<用户名>
)”部分,点击“新建...”按钮。
在“变量名称”中输入“HOME”,在“变量值”中输入C:\Users\<username>
。
HOME
变量,只需在当前值和新路径之间放置分号。当应用程序使用HOME
变量时,它通常会按顺序搜索内容。如果您希望首先找到新路径,请将其放在列表中的第一位。pdb
的任何应用程序(例如cmd.exe
)。确保您的.pdbrc
文件位于C:\Users\
中。再次运行pdb
时,它现在应该在启动时读取您的.pdbrc
文件。
import os; print(os.path.abspath(os.path.expanduser('~')))
会给你什么结果?另外,你的HOME
环境变量呢?想必它们是一样的... - Wayne WernerHOME
环境变量。它在 Windows 机器上默认存在吗? - Aviv CohnC:\Users\<my_user>
。你给出的Python表达式打印出相同的结果。然而,.pdbrc
仍然不起作用。 - Aviv Cohncmd.exe
后别名现在可以使用了!我猜我需要设置HOME
环境变量。你想把这个作为答案发布吗?谢谢。 - Aviv CohnHOME
而不是使用跨平台的替代方法os.path.expanduser('~')
。 - Eryk SunHOME
设置为系统级环境变量,等于%HOMEDRIVE%%HOMEPATH%
。在Windows 10上,这会按照当前用户的期望进行扩展,但是在Win 7上(至少使用默认配置),它不会扩展,可能是因为系统环境变量必须在用户环境变量之前定义,因此无法扩展。显然,如果不扩展,则找不到用户的.pdbrc文件。 - Jonathan March