防止python导入编译

时间:2009-08-25 21:52:56

标签: python import compilation

我有一个python文件,可以导入一些经常更改的python文件。当我更改导入的文件而不重新编译时,我遇到了麻烦。如何阻止它们编译?

4 个答案:

答案 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   沿途的文件。