找不到django / apache / mod_wsgi的.pyc文件

时间:2012-08-30 19:46:13

标签: python django mod-wsgi pyc

我正在使用mod_wsgi / apache在python2.7上运行一个Web应用程序。一切都很好,但我找不到任何.pyc文件。它们是不是用mod_wsgi生成的?

2 个答案:

答案 0 :(得分:1)

默认情况下,apache可能对您的django应用程序目录没有任何写入权限,这是一件好事安全明智。

现在Python将在每次apache重新启动后重新编译代码,然后将其缓存在内存中。

因为这是一个漫长的过程,所以没关系。

注意:如果你真的想拥有这些pyc,请将apache用户的写访问权限授予源目录。

注意2:当您从manage.py开始使用apache共享的测试实例时,这会造成很多混乱,因为这会以root身份创建这些pyc,如果您在源代码更改后运行apache,则会保留它们。 / p>

答案 1 :(得分:0)

首次导入模块时,或者当源比当前编译文件更新时,通常会在与{{1}相同的目录中创建包含已编译代码的.pyc文件。文件。 因此,如果您不导入模块,则不会创建任何文件。

除此之外,可能无法创建.py文件是目录的权限问题。例如,如果您作为一个用户进行开发但是作为另一个用户运行,例如您正在使用Web服务器进行测试,则会发生这种情况。如果您要导入模块并且Python具有将已编译模块写回目录的能力(权限,可用空间等),则会自动创建.pyc文件。

注意 - 不会将运行脚本视为导入,也不会创建.pyc

如果您需要为未导入的模块创建.pyc文件,可以使用py_compilecompileall模块。

相关问题