Cam*_*son 9 python jython pydev
我最初将所有模块放在一个包中.我最近在原始包中创建了一个子包,并将一些模块移动到该包中.我的src文件夹和2个包文件夹都在我的PYTHONPATH中.
自从我重新定位这些模块后,我对其.py文件所做的更改似乎没有进入生成的*$ py.class文件中,我相信这些文件最终会被运行,基于print __FILE__吐出的内容.
.class文件位于顶级包的目录中,我相信这是因为它们从第一个位置导入的是位于该包中的模块.所以我认为他们在正确的地方.
将模块移回顶级软件包确实会使问题消失,但被迫将所有模块放在一个软件包中并不是一个解决方案.我是否需要做一些事情来将一个模块"注册"为一个包的一部分,而不是将它放在一个带有__init__.py?的文件夹中?
注意:这个问题的其余部分只是导致我在更改.py文件时得出结论是没有更新.class文件的症状.你可以跳过它,如果你是一个人;博士的人:P
我在函数的开头放了一堆空格,当我单步执行它时,光标会跟随代码所在的位置.
以下是IDE向我展示的代码:

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

在我走几行之后,这里是代码(注意光标位置):
和当地人:

注意,现在self已id和updatePeriod约束,因此这些前两行代码的空白之后,已经清楚地被执行.
如果我完全删除.py文件(粘贴在桌面上或其他东西),那么显然IDE无法找到它,所以我无法单步执行它,但程序根据以前的代码运行(那里)是一些明显的变化,我可以告诉他们没有效果).
最后,在相关的*$ py.class文件的修改日期是约4.5小时的时候,尽管这一切摆弄我一直在最近过去的小时或2的.py文件做.
.py删除时,已编译的 Python 文件不会自动删除。由于它们位于$PYTHONPATH您的子包之前,因此它们会被执行,并且由于没有.py对应的它们,因此它们将被使用并且永远不会被更新。唯一的解决方案是手动删除它们。
PyDev 通过实际解释源代码显然增加了混乱。