防止Python导入编译
我有一个Python文件,它会导入一些经常会修改的Python文件。但是我发现,当我修改这些导入的文件时,它们并没有重新编译。请问我该怎么做才能让它们不再编译呢?
4 个回答
1
在Python 2.6中,你可以使用-B这个选项。
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)
3
我觉得这可能不太行,因为这是Python的工作方式。你能做的最好的办法,就是弄一个自动化脚本,先把*.pyc
文件删除掉。或者你可以使用一个开发模块,它会自动编译所有的导入模块,试试compile
模块。
我个人之前没有遇到过这个问题,但你可以检查一下文件的时间戳。你可以尝试在目录下的所有Python文件上运行touch
命令。可以用这个命令:find -name \\*.py -exec touch \\{\\} \\;