避免Python 3.x中的.pyc文件?

时间:2014-08-06 04:10:35

标签: python python-3.x

目前,我正在使用Python 3.4。如何在不编辑命令行的情况下避免.pyc.pyo个文件(__pycache__)?

以下命令完美无缺 使用终端:python3 -B something.py

但是这些在Python 3中不起作用(或者它们是??):

import os

os.environ['PYTHONDONTWRITEBYTECODE'] = "whatever"

根据instructions,如果它被设置为非空字符串,它应该工作。但我无法做到。

我错过了什么?

4 个答案:

答案 0 :(得分:3)

我认为必须在Python解释器启动之前设置环境变量。在Python脚本中设置它似乎为时已晚(解释器已经加载了脚本并生成了字节码文件)。

答案 1 :(得分:1)

环境变量在启动时由可执行文件读取。在脚本中设置它对当前解释器没有任何影响。您必须在运行可执行文件之前执行此操作。

答案 2 :(得分:0)

检查这个..在执行前设置env变量 出口PYTHONDONTWRITEBYTECODE ="" 在.bashrc中设置它 或别名python3 =" python3 -B"

.. How to avoid .pyc files?

但是你会在导入的模块级别获得python3的 pycache 文件夹

答案 3 :(得分:0)

  • Python 3将在里面创建与版本相关的编译python的__pycache__目录。 .pyc来自Python 2。

  • 您需要在启动python时在命令行或环境中指定此项,而不是在之后。但如果您正在支持shebang行的环境中编写可执行脚本,您可以执行以下操作:

#!/usr/bin/env python3 -B
  • 由于您的问题指定"而不使用命令行",您可以为您的系统/ shell设置PYTHONDONTWRITEBYTECODE=1环境变量。