Closed
Description
Bug report
Bug summary
If matplotlib is run in an environment without a writable home directory, a very confusing error message is printed in which the configdir and the tempdir are interchanged.
Code for reproduction
-
In Linux, create a user
someone
with no home directory. -
Run Python with a command like
sudo -u someone python3
-
In the Python shell, type
import matplotlib
Actual outcome
Matplotlib created a temporary config/cache directory at /root/.config/matplotlib because the default path (/tmp/matplotlib-9yoi7m8l) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
Expected outcome
Matplotlib created a temporary config/cache directory at /tmp/matplotlib-9yoi7m8l because the default path (/root/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
Matplotlib version
- Operating system: Ubuntu 18.04
- Matplotlib version: 3.3.0
- Matplotlib backend (
print(matplotlib.get_backend())
): agg - Python version: 3.9.0b4
- Jupyter version (if applicable): N/A
- Other libraries: N/A
Matplotlib was compiled from source. The error is at line 482 in __init__.py
at the root level in the source tree. The parameters are the wrong way round.
Metadata
Metadata
Assignees
Labels
No labels