【发布时间】:2012-09-24 15:52:21
【问题描述】:
似乎有时当我从 git 中拉出旧的 .pyc 而不是新拉出的 .py 文件时,有没有办法自动清除 .pyc 文件,所以它总是运行新版本?
【问题讨论】:
标签: python python-2.7 pyc
似乎有时当我从 git 中拉出旧的 .pyc 而不是新拉出的 .py 文件时,有没有办法自动清除 .pyc 文件,所以它总是运行新版本?
【问题讨论】:
标签: python python-2.7 pyc
如果.py 文件上的修改日期较新,Python 会自动清除旧的.pyc。
您可以手动删除目录结构中的所有 .pyc 文件:
find . -name \*.pyc -delete
Python 将在导入模块时重新创建它们。你也可以运行:
python -m compileall .
强制编译。
【讨论】:
.py 文件,因此使用较新的 .pyc 文件而不是更改的源。
.pyc 文件与编译时 .py 文件的修改时间相匹配。如果修改.py 文件,运行python,然后回滚到旧版本的.py 文件,.pyc 文件不一定会更新。
防止.pyc 文件创建的另一个选项是将选项-B 传递给python
python -B file.py
-B 来自man 的选项:
-B Don't write .py[co] files on import. See also PYTHONDONTWRITEBYTECODE.
您也可以在.py 文件的开头使用sha-bang 指定它:
#!/bin/python -B
【讨论】: