'Python3 __pycache__ generating even if PYTHONDONTWRITEBYTECODE=1

I would like to ask if there is another way to disable creation of __pycache__ in the server.

My problem is it keeps generating even if I already set environment variable to PYTHONDONTWRITEBYTECODE=1

I want to disable __pycache__ because I only keep 5 releases in deployment. This cache is preventing the deletion of the 6th release because the cache is owned by root and can only be deleted through sudo.

I am using capistrano for deployment.

Thank you for your response!



Solution 1:[1]

I already resolved this issue. export PYTHONDONTWRITEBYTECODE=1 works. The generation of pycache folder is in the docker (I used docker as well). What I did is inside the docker, I have this export PYTHONDONTWRITEBYTECODE=1 So it solved the issue. thank you for your help.

Solution 2:[2]

You can also disable cache usage in the Python code via sys.dont_write_bytecode:

import sys

sys.dont_write_bytecode = True

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 anne
Solution 2 clemens