gpt4 book ai didi

python - Python 缓存字节码 (pyc) 文件何时更新?

转载 作者:太空宇宙 更新时间:2023-11-03 11:49:54 26 4
gpt4 key购买 nike

有时我通过指向 make PYTHON_TEST=path_of_module_to_test test 在特定模块上运行 unittest,如果这个模块 path_of_module_to_test test 导入了一些其他已更新的 python 模块,将从这个模块完成的导入是从更新的 py 源文件或未更新的 pyc 文件中获取的,还是导入会导致依赖 pyc 文件的更新?

最佳答案

来自 PEP 3147 :

CPython compiles its source code into "byte code", and for performance reasons, it caches this byte code on the file system whenever the source file has changes. This makes loading of Python modules much faster because the compilation phase can be bypassed. When your source file is foo.py , CPython caches the byte code in a foo.pyc file right next to the source.

如果您的来源发生变化; CPython 将重新编译并重新缓存字节码。

请注意,以上内容适用于 Python 2.x。在 Python 3.2: PEP 3147: PYC Repository Directories 中的 Python 3.x 中,这一切都发生了变化

注意:当我们在这里提到“CPython”时,我们指的是您最有可能使用的来自 https://www.python.org 的 Python 实现。因为此行为(我相信)是特定于实现的。

关于python - Python 缓存字节码 (pyc) 文件何时更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30431491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com