为什么我的jython"*$ py.class"文件在我将它们移动到不同的包后没有更新代码?

Cam*_*son 9 python jython pydev

我最初将所有模块放在一个包中.我最近在原始包中创建了一个子包,并将一些模块移动到该包中.我的src文件夹和2个包文件夹都在我的PYTHONPATH中.

自从我重新定位这些模块后,我对其.py文件所做的更改似乎没有进入生成的*$ py.class文件中,我相信这些文件最终会被运行,基于print __FILE__吐出的内容.

.class文件位于顶级包的目录中,我相信这是因为它们从第一个位置导入的是位于该包中的模块.所以我认为他们在正确的地方.

将模块移回顶级软件包确实会使问题消失,但被迫将所有模块放在一个软件包中并不是一个解决方案.我是否需要做一些事情来将一个模块"注册"为一个包的一部分,而不是将它放在一个带有__init__.py?的文件夹中?

注意:这个问题的其余部分只是导致我在更改.py文件时得出结论是没有更新.class文件的症状.你可以跳过它,如果你是一个人;博士的人:P

我在函数的开头放了一堆空格,当我单步执行它时,光标会跟随代码所在的位置.

以下是IDE向我展示的代码:

在此输入图像描述

这里是本地变量(注意self没有任何约束):

在此输入图像描述

在我走几行之后,这里是代码(注意光标位置): 在此输入图像描述 和当地人:

在此输入图像描述

注意,现在selfidupdatePeriod约束,因此这些前两行代码的空白之后,已经清楚地被执行.

如果我完全删除.py文件(粘贴在桌面上或其他东西),那么显然IDE无法找到它,所以我无法单步执行它,但程序根据以前的代码运行(那里)是一些明显的变化,我可以告诉他们没有效果).

最后,在相关的*$ py.class文件的修改日期是约4.5小时的时候,尽管这一切摆弄我一直在最近过去的小时或2的.py文件做.

var*_*tec 4

.py删除时,已编译的 Python 文件不会自动删除。由于它们位于$PYTHONPATH您的子包之前,因此它们会被执行,并且由于没有.py对应的它们,因此它们将被使用并且永远不会被更新。唯一的解决方案是手动删除它们。

PyDev 通过实际解释源代码显然增加了混乱。