模块源代码更改不生效

4

我遇到了一个关于Python的问题,这对我来说看起来非常奇怪。我的脚本变得相当庞大,并且应该为程序运行测试套件。

我的包含树如下:

run.py --> Module --> Section --> Test

我遇到的奇怪问题是,当我修改我的ModuleSectionTest模块的源文件时,它们根本不起作用。

我在终端中使用emacs进行开发,并使用以下命令运行脚本:

python run.py

我尝试了以下操作:

  1. 重新启动终端
  2. 重新启动电脑(过了几天,这也不是坏主意)
  3. 清除 *.pyc 文件

我的 Python 版本是 2.5.2,在 VirtualBox 中使用 Debian Lenny 进行工作。

但我没有能够在另一个较小的程序中重现此行为以更好地观察它。


你确定你已经清理了系统中的所有 .pyc 文件吗? - Adrien Plisson
@AdrienPlisson 我只清理了我的项目树中所有的 .pyc 文件。此外,我的 PYTHONPATH 只指向那里。 - Rippalka
1个回答

3

我猜测你的PYTHONPATH路径下至少有一个与你的模块同名的其他模块。可以查找一下你留下的旧版本或者尝试更改你的模块名称来解决问题。

如果你修改了模块但在运行之前忘记重新加载它们,也会出现类似的效果,但重新启动Python会导致每个模块在第一次导入时都被重新加载。


1
好的,谢谢!就是这样了。我太傻了,之前没看到这个。我开始在我的Win/Lin虚拟机之间共享卷上工作,忘记调整Python路径了。 - Rippalka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接