1

使用并行 python 模块时,我遇到了透明缓存问题。我更改了由并行代码调用的模块中的方法签名。当我执行代码时,它给了我一个错误,说它需要旧的方法签名。

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/ppworker.py", line 90, in run
    __result = __f(*__args)
  File "<string>", line 12, in run_grn
TypeError: __init__() takes at most 2 arguments (3 given)

我删除了 .pyc 文件,以防它正在使用它们,但仍然没有乐趣。当我将模块重命名为其他内容时,它又开始工作了,所以我只能假设并行 python 正在某处存储模块的旧副本。我检查了文档,但它没有提到缓存是如何工作的。有什么办法可以清除缓存吗?任何帮助将不胜感激!

4

1 回答 1

0

更新:经过一番挖掘,我发现它在 dist-packages 文件夹中复制了我的文件,并且没有覆盖它(可能是因为权限)。当我删除文件时,解决了问题

于 2012-11-28T11:39:06.557 回答