首页 > 解决方案 > 在 Docker 中使用 PYTHONDONTWRITEBYTECODE 有什么缺点吗?

问题描述

在许多基于 Python 的 Docker 教程中(例如:this one)他们使用该选项PYTHONDONTWRITEBYTECODE是为了使 Python 避免在导入源模块时编写 .pyc 文件(这相当于指定 -B 选项)。

设置此选项有哪些风险和优势?

标签: pythonpython-3.xdocker

解决方案


当您在容器中运行单个 python 进程时,该进程本身不会在其生命周期内产生其他 python 进程,那么这样做就没有“风险”。

在磁盘上存储字节码用于在第一次调用程序及其依赖库时将 python 编译为字节码,以便在后续调用时保存该步骤。在容器中,该进程只运行一次,因此设置此选项是有意义的。


推荐阅读