【问题标题】:Avoid .pyc Files in Python 3.x? [duplicate]在 Python 3.x 中避免使用 .pyc 文件? [复制]
【发布时间】:2014-08-06 04:10:34
【问题描述】:

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

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

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

import os

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

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

我错过了什么?

【问题讨论】:

  • 你为什么要避免它?
  • 我要问你为什么要这样做?

标签: python python-3.x


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    • Python 3 将创建__pycache__ 目录,其中包含与版本相关的已编译python。 .pyc 来自 Python 2。

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        检查这个..在执行之前设置环境变量 导出 PYTHONDONTWRITEBYTECODE="" 在 .bashrc 中设置 或别名 python3="python3 -B"

        ..How to avoid .pyc files?

        但您将在导入的模块级别获得 python3 的 pycache 文件夹

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-14
          • 1970-01-01
          • 1970-01-01
          • 2014-12-11
          • 1970-01-01
          • 1970-01-01
          • 2018-08-12
          • 2018-12-29
          相关资源
          最近更新 更多