I have a problem using the tempfile library on Spaces. This problem occurs sometimes.
I have this space that generates an output file that is a disk write and the main function returns the path to this file.
I know that if I do not use a tempfile, this works correctly, but I’d like to use tempfile to prevent generations of outputs in a local execution.
This is the function that generates the problem (temporary file lines are commented out to avoid errors).
And the logs when the execution fails are the following:
Traceback (most recent call last):
File “/home/user/.local/lib/python3.8/site-packages/gradio/routes.py”, line 259, in run_predict
output = await app.blocks.process_api(
File “/home/user/.local/lib/python3.8/site-packages/gradio/blocks.py”, line 691, in process_api
predictions = self.postprocess_data(fn_index, predictions, state)
File “/home/user/.local/lib/python3.8/site-packages/gradio/blocks.py”, line 657, in postprocess_data
File “/home/user/.local/lib/python3.8/site-packages/gradio/components.py”, line 1676, in postprocess
y = processing_utils.create_tmp_copy_of_file(y, dir=self.temp_dir)
File “/home/user/.local/lib/python3.8/site-packages/gradio/processing_utils.py”, line 296, in create_tmp_copy_of_file
File “/usr/local/lib/python3.8/shutil.py”, line 435, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File “/usr/local/lib/python3.8/shutil.py”, line 264, in copyfile
with open(src, ‘rb’) as fsrc, open(dst, ‘wb’) as fdst:
FileNotFoundError: [Errno 2] No such file or directory: ‘/tmp/tmpsp16mbfp/soccer532nbnksvotwvex0_out.mp4’
As I mentioned earlier, this code runs perfectly in many situations, but sometimes finish with the above error.
Any suggestions to use the tempfile library capabilities properly on Spaces?