我有一个python文件,可以导入一些经常更改的python文件。当我更改导入的文件而不重新编译时,我遇到了麻烦。如何阻止它们编译?
答案 0 :(得分:3)
我认为这不可能 - 它与Python的工作方式有关。我认为,你能做的最好的事情就是拥有一种自动删除*.pyc
文件的自动脚本。或者你可以有一个自动编译所有导入的开发模块 - 试试compile
模块。
我个人之前没有遇到过这个问题,但请尝试检查文件的时间戳。您可以尝试在目录中的所有Python文件上运行touch
。 (find -name \\*.py -exec touch \\{\\} \\;
)
答案 1 :(得分:1)
有些模块可能会对您有所帮助:
py_compile模块(http://effbot.org/librarybook/py-compile.htm)将允许您显式编译模块(不像'import'语句那样运行它们。)
import py_compile
py_compile.compile("my_module.py")
此外,compileall模块(http://effbot.org/librarybook/compileall.htm)将编译目录中的所有模块。
import compileall
compileall.compile_dir(".", force=1)
答案 2 :(得分:1)
在python 2.6中,您应该能够提供-B选项。
答案 3 :(得分:0)
您正在寻找compileall
compileall.compile_dir(DIR [, maxlevels [,ddir [,force [,rx [, 安静]]]]])
递归下降由dir命名的目录树,编译所有.py 沿途的文件。