【问题标题】:Python3 __pycache__ generating even if PYTHONDONTWRITEBYTECODE=1Python3 __pycache__ 即使 PYTHONDONTWRITEBYTECODE=1 也会生成
【发布时间】:2018-06-08 01:53:51
【问题描述】:

我想问是否有另一种方法可以禁用在服务器中创建__pycache__

我的问题是即使我已经将环境变量设置为PYTHONDONTWRITEBYTECODE=1,它也会继续生成

我想禁用__pycache__,因为我在部署中只保留了 5 个版本。此缓存阻止删除第 6 版,因为缓存归 root 所有,只能通过 sudo 删除。

我正在使用 capistrano 进行部署。

感谢您的回复!

【问题讨论】:

  • export PYTHONDONTWRITEBYTECODE=1了吗?仅仅在你的 shell 中设置PYTHONDONTWRITEBYTECODE=1 是不够的。
  • @BallpointBen 我导出了它。我还在/etc/environment 上添加了它,当我添加printenv PYTHONDONTWRITEBYTECODE 时,它显示它在我的deploy_user 和root 用户中都是1
  • 大家好,我已经解决了这个问题。 export PYTHONDONTWRITEBYTECODE=1 有效。 pycache 文件夹的生成在 docker 中(我也使用过 docker)。我所做的是在码头内部,我有这个export PYTHONDONTWRITEBYTECODE=1 所以它解决了这个问题。谢谢你的帮助。

标签: python python-3.x capistrano


【解决方案1】:

我已经解决了这个问题。 export PYTHONDONTWRITEBYTECODE=1 有效。 pycache 文件夹的生成在 docker 中(我也使用过 docker)。我所做的是在码头内部,我有这个export PYTHONDONTWRITEBYTECODE=1 所以它解决了这个问题。谢谢你的帮助。

【讨论】:

    【解决方案2】:

    您还可以通过sys.dont_write_bytecode 禁用 Python 代码中的缓存使用:

    import sys
    
    sys.dont_write_bytecode = True
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      • 2013-07-16
      • 1970-01-01
      • 2014-01-20
      • 2023-03-11
      相关资源
      最近更新 更多