1

我遇到了一个非常奇怪的问题。我已经将一些 python 代码从一个版本更改为下一个版本,它似乎破坏了代码(尽管通过了测试)。当我去添加调试语句时,代码开始正常工作。再试一次就失败了。经过实验,我意识到只有在更改或删除 pyc 文件后才能运行一次。什么??有没有其他人经历过这个?有什么想法可以解决这个问题吗?

tldr:代码仅在 pyc 更改或删除然后停止工作后才有效。

编辑:问题似乎是 pyc 文件本身。我在没有运行代码的情况下编译了 pyc 文件并尝试运行它,但它没有工作。我做了一些研究,我认为 python 创建这些 pyc 的方式是,当我尝试运行它时,它会将其加载到环境中,然后创建 pyc。这意味着它在从源加载时工作,但从 pyc 加载时失败。

4

1 回答 1

1

也许您的 PYC 文件正在通过某种同步更新,在编译后编写,然后 python 运行 PYC 而不是重新编译 PY。

尝试这个:

>python --help
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-B     : don't write .py[co] files on import; also PYTHONDONTWRITEBYTECODE=x
于 2013-05-08T20:24:10.707 回答