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


9

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

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


重新使用图像大小
LinPy

3
在性能方面有什么缺点吗?
floatpurr

Answers:


3

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

在程序第一次调用程序及其相关库时,将字节代码存储在磁盘上用于将python编译为字节代码,以在后续调用时节省该步骤。在容器中,该过程仅运行一次,因此设置此选项很有意义。


因此,请注意,对于Docker项目,此选项在99%的时间内都是有用且安全的。对?
floatpurr

1
就像我说的,如果您在容器的生存期内不生成除容器化过程本身以外的其他python进程,那就很好。
hek2mgl
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.