在Docker中使用PYTHONDONTWRITEBYTECODE有什么缺点吗?

在Docker中使用PYTHONDONTWRITEBYTECODE有什么缺点吗?,python,python-3.x,docker,Python,Python 3.x,Docker,在许多基于Python的Docker教程(例如:)中,它们使用该选项是为了使Python避免在导入源模块时写入.pyc文件(这相当于指定-B选项) 设置此选项的风险和优势是什么?当您在容器中运行单个python进程时,在其生命周期内不会生成其他python进程,那么这样做就没有“风险” 在磁盘上存储字节码用于在第一次调用程序及其依赖库时将python编译成字节码,以便在以下调用时保存该步骤。在一个容器中,进程只运行一次,因此设置此选项是有意义的。要减少图像大小在性能方面存在的任何缺点?因此,带回

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


设置此选项的风险和优势是什么?

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


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

要减少图像大小在性能方面存在的任何缺点?因此,带回家的信息是,对于Docker项目,此选项99%的时间都是有用和安全的。对吗?就像我说的,如果在容器的生命周期内没有生成容器化进程本身以外的其他python进程,那就好了。@hek2mgl-使用一个带有gunicorn的docker容器怎么样,它会生成多个进程。在这种情况下,进程也只运行一次?@bartekch每个进程都必须再次编译字节码。这可能是性能问题,也可能不是性能问题,这取决于您正在执行的操作。可能没问题。我会说是测试it@hek2mgl-谢谢。