如何在Mac上安装Python补丁
IDLE在Mac上有一个右键菜单的问题(这是Tk的问题)。
这个问题已经有了一个修复补丁:问题10404
我下载了这个补丁(issue10404-idle_no_context_menus.txt),请问我该在哪里以及如何安装它?
提前谢谢你。
2 个回答
0
这些补丁是针对源代码的修改记录。在这个例子中,它是一个Python文件,所以你需要找到相关的Python文件(Lib/idlelib/EditorWindow.py),然后使用patch
命令来应用这个补丁。
一般来说,这种补丁是用在Python源代码的开发版本上的,可能需要你先下载Python的源代码并从svn编译它。这取决于你安装的版本和补丁通常基于的主版本之间的代码变化有多大。
1
首先,在你的电脑上找到 EditorWindow.py
这个文件。如果你不知道它在哪里,可以在终端输入 find / -name EditorWindow.py
来搜索。找到后,使用 cd
命令进入它所在的文件夹,然后运行下面的命令:
patch --dry-run < ~/path/to/issue10401-idle_no_context_menus.txt
如果这个命令成功了,就去掉 --dry-run
选项,再次运行这个命令。如果没有成功,可以尝试加上 -P2
、-P3
或者 -P1
。这里的 -P<n>
是用来忽略补丁文件中提到的 <n>
个目录,我总是记不清具体怎么用,所以我就试着调整 --dry-run
和这些选项,直到成功为止。:)
如果补丁无法顺利应用,可能是因为你的版本和补丁文件中的“预版本”不完全匹配。这个时候,你可以手动编辑文件,按照补丁的内容进行修改——也就是做出相同类型的更改,但要考虑到可能发生的变化。有时候只是缩进级别变了,这样修改起来比较简单;但有时候整个逻辑都不同,那就没必要强行让补丁适配了。