在 Eclipse 中的 PyDev 项目中应用 2to3 不会影响对文件的任何更改

Applying 2to3 in PyDev project in Eclipse does not affect any changes to files

我在安装了 Python3 解释器的 Eclipse 上的 PyDev 中打开了一个 Python 2 项目,所以我在某些地方出错。

项目的上下文菜单有一个 PyDev -> "Apply 2to3" 选项。当我 select 它时,我在控制台中看到 diff 输出,但项目中的 .py 文件没有更改。我没有看到任何明显的方法来应用 diff 输出来进行这些更改。

难道 "Apply 2to3" 不应该对文件进行更改并让项目准备好在 Python 3 下编译吗?

您必须输入 2to3 的参数才能执行此操作...

我刚刚看到该对话框目前很糟糕(它没有显示完整的文本 -- 当时来自 2to3 的文本可能很小,但现在它很大,不适合对话框 space 非常好,内容被裁剪成可见的 -- 刚刚修复它:https://github.com/fabioz/Pydev/commit/fb0aa9d28c15e7deeb3aa229b0ad66146802d9e4).

现在,要回答您的问题,在打开的对话框中,您需要传递 -w 来写入创建备份文件的文件,或者如果您想写入文件但没有传递 -w -n不想保留备份文件——如果您的源代码已经在源代码管理之下,我建议这样做 ;)