`sys.dont_write_bytecode`为True,但仍会生成.pyc文件

时间:2012-03-29 01:14:26

标签: python

我正在设置 PYHTONDONTWRITEBYTECODE 环境变量以避免.pyc文件,并且我已检查sys.dont_write_bytecode是否为真。

但.pyc文件仍在各处生成。

PS:我正在使用Python 2.6.6

原因是我的脚本在env -i下运行。

3 个答案:

答案 0 :(得分:4)

它应该在导入模块之前出现。我把它移到代码的顶部,它可以工作。

#!/bin/python

import sys
sys.dont_write_bytecode = True

import myModule

答案 1 :(得分:3)

可能是你错误地使用了env变量? PYTHONDONTWRITEBYTECODE

这有效: PYTHONDONTWRITEBYTECODE=1 python -c "import test"

这样做:python -B -c "import test"

当直接运行导入test.py的脚本时: ./importer.py

importer.py

#!/usr/bin/env python -B

import test

答案 2 :(得分:1)

除了确保拼写正确之外,你确定变量实际上是在导出,而不仅仅是设置吗?

例如,如果使用bash,请尝试:

export PYTHONDONTWRITEBYTECODE=1

或:

PYTHONDONTWRITEBYTECODE=1
export PYTHONDONTWRITEBYTECODE