No usable temporary directory found

PythonOdoo

Python Problem Overview


I am trying to find a temp directory , but when i am trying to get the directory using

tempfile.gettempdir()

it's giving me error of

 File "/usr/lib/python2.6/tempfile.py", line 254, in gettempdir
    tempdir = _get_default_tempdir()
  File "/usr/lib/python2.6/tempfile.py", line 201, in _get_default_tempdir
    ("No usable temporary directory found in %s" % dirlist))
IOError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/home/openerp/openerp-server']

The permission on the directory is 777 owned by root.

Python Solutions


Solution 1 - Python

This kind of error occured in two case

  1. permission(should be drwxrwxrwt and owened by root)
  2. space

To check space(disk usage)just run the command on terminal

df -h

Will list the disk usage on unix and get the output like

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5        28G   15G   12G  58% /

If the root(mounted on /) usage is 100%.

You need to clean the tmp directory or restart the machine or make some space on the root.

Solution 2 - Python

Problem can also occur if inode are full.

You can type df -i

# df -i
Filesystem      Inodes   IUsed  IFree IUse% Mounted on
udev            253841     322 253519    1% /dev
tmpfs           255838     430 255408    1% /run
/dev/xvda1     5120000 5120000      0  100% /
tmpfs           255838       1 255837    1% /dev/shm
tmpfs           255838       7 255831    1% /run/lock
tmpfs           255838      16 255822    1% /sys/fs/cgroup
tmpfs           255838       4 255834    1% /run/user/1000

Solution 3 - Python

This error can occur when the file system has been switched to read-only mode.

Solution 4 - Python

I had the same problem while running a python script in Docker. The following command fixed it for me:

docker rmi $(docker images --quiet --filter "dangling=true")

Solution 5 - Python

I got the same issue when there was no space on /.

Issue:

File "/usr/lib64/python2.6/tempfile.py", line 201, in _get_default_tempdir("No usable temporary directory found in %s" % dirlist))
IOError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/']  [FAILED]

[root@master hue]# df -h

>Filesystem Size Used Avail Use% Mounted on

>/dev/mapper/vg_master-lv_root

> 35G 34G 0 100% / >tmpfs
7.8G 72K 7.8G 1% /dev/shm

>/dev/sda1
477M 34M 418M 8% /boot

When I cleared out some space then it worked fine for me.

[root@master log]# service hue start

Starting hue: [ OK ]

[root@master log]#

Solution 6 - Python

definately a disk space issue,

on terminal, type df -h you should see output like below ( notice the 100% on one of the filesystems)

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            992M     0  992M   0% /dev
tmpfs           200M   21M  179M  11% /run
/dev/xvda1      7.8G  7.8G  0  100% /
tmpfs          1000M     0 1000M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs          1000M     0 1000M   0% /sys/fs/cgroup
tmpfs           200M     0  200M   0% /run/user/997
tmpfs           200M     0  200M   0% /run/user/1042

in this case, you need to make space by deleting files, artifacts folders e.t.c on path root /

Solution 7 - Python

I had the same issue on the Windows 7x64 machine. It was OK with disk space and permissions.

When I excecuted

tempfile.mkdtemp(prefix='MyPrefix_')

manually in python console the directory %TEMP%\MyPrefix_xxxx was successfully created. But when I did the same from script I received the error IOError: [Errno 2] No usable temporary directory found in [...].

I solved the problem using dir parameter:

 # '.' is a default value for example
 tempfile.mkdtemp(prefix='MyPrefix_', dir=os.environ.get('TEMP', '.')) 

After that from script it worked well.

Solution 8 - Python

I got this when my root drive (/dev/sda1) was corrupted on my Ubuntu.

Rebooted, got the error /dev/sda1 contains a file system with errors.

Followed instructions here: https://askubuntu.com/questions/885062/root-file-system-requires-manual-fsck, which was to fsck -y <dev/xxx reported to have error> twice. Then exit to reboot.

Solution 9 - Python

I ran into this issue earlier today. I started a query embedded in jupyter before going to lunch, and I returned to jupyter throwing some type of error (can't remember what it was exactly). When I tried restarting jupyter in the terminal, I got the error described in OP's question (no usable temporary directory). The answers above didn't work, so I tried restarting my entire VM, at which point I got the error described here. After following the instructions in that thread's top answer, the problem was resolved.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionOpenCuriousView Question on Stackoverflow
Solution 1 - PythonAtul ArvindView Answer on Stackoverflow
Solution 2 - PythonYuukooView Answer on Stackoverflow
Solution 3 - PythonChris MutelView Answer on Stackoverflow
Solution 4 - PythonRoozbeh ZabihollahiView Answer on Stackoverflow
Solution 5 - PythonAjit K'sagarView Answer on Stackoverflow
Solution 6 - PythonEdwin O.View Answer on Stackoverflow
Solution 7 - Pythonand1erView Answer on Stackoverflow
Solution 8 - PythonKashyapView Answer on Stackoverflow
Solution 9 - PythonL. TaylorView Answer on Stackoverflow