I got a PermissionError on Streamlit Cloud when I try to write a font file to the /static/assets folder to allow streamlit to use the custom font, as explained in this discussion.
Locally it works fine, but I guess there may correctly be restrictive permission settings on system folders on the streamlit machine. Questions:
- is there the possibility to change the permission and write to the /static folder?
- is it possibile to write to another location and keep the proposed solution in the discussion working? (I’m not an expert in css and web development, but I guess it is mandatory to have the file in the /static folder)
- if it is not possible, is there any other solution?
Code is publicly available on github. The code that moves the font files to the /static folder is in app.py. Traceback is the following:
File "/home/adminuser/venv/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 589, in _run_script
exec(code, module.__dict__)
File "/mount/src/maddiegiulio/app.py", line 30, in <module>
font_path.mkdir(exist_ok=True, parents=True)
File "/usr/local/lib/python3.11/pathlib.py", line 1120, in mkdir
self.parent.mkdir(parents=True, exist_ok=True)
File "/usr/local/lib/python3.11/pathlib.py", line 1116, in mkdir
os.mkdir(self, mode)
PermissionError: [Errno 13] Permission denied: '/home/adminuser/venv/lib/python3.11/site-packages/streamlit/static/assets'
Python version: 3.11.9, streamlit version: 1.36.0