issue a du /var/log/journal so see how much space is being used by the journals. The result is in kilobytes.
As you can see from your df output, the /home partition has the spare space - you should be trying to direct outputs and program installations to this location.
Installing progams that are not in a directory or subdirectory of /dev, /dev/shm, /run, /sys/fs/cgroup, /etc/machine-id, /boot, /tmp, /var/volatile, /factory, /home, or /boot will be part of the / partition and therefore you will run out of space. /usr, /lib and /var (except /var/volatile) will use the root partition /.
Look for where your space is being chewed up. You can also create a symbolic link to a directory.
ie: if I still want apache to have the log file path /var/log/apache, I do not create the directory /var/log/apache.
Rather, create the directory /home/apache/logs and issue ln -s /home/apache/logs /var/log/apache
The program still writes to the filepath as compiled in the program but it is actually stored in the /home partition where I have space.
Thank you for your answer, your answer is excellent and very helpful.
I installed a python3 to /usr,so i think the key problem is it.