Подтвердить что ты не робот

Нет доступной временной директории

Я пытаюсь найти временную директорию, но когда я пытаюсь получить каталог с помощью

tempfile.gettempdir()

это дает мне ошибку

 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']

Разрешение в каталоге 777 принадлежит root.

4b9b3361

Ответ 1

Такая ошибка произошла в двух случаях

  • (должно быть drwxrwxrwt и должно быть выполнено root)
  • space

Чтобы проверить пространство (использование диска), просто запустите команду на терминале

df -h

Перечислит использование диска в unix и получит результат, например

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

Если использование корня (установленное на /) составляет 100%.

Вам нужно очистить каталог tmp или перезагрузить компьютер или сделать некоторое пространство в корне.

Ответ 2

Эта ошибка может возникнуть, если файловая система была переключена в режим только для чтения.

Ответ 3

У меня была такая же проблема при запуске скрипта Python в Docker. Следующая команда исправила это для меня:

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

Ответ 4

У меня такая же проблема, когда в/не было места.

Проблема:

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

Размер файловой системы Используется Использовать% Установлено на

/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

Когда я очистил какое-то пространство, это сработало для меня.

[root @master log] # начало обслуживания

Начальный оттенок: [OK]

[root @master log] #

Ответ 5

Проблема также может возникнуть, если inode заполнены.

Вы можете ввести 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

Ответ 6

Определенно проблема с дисковым пространством,

на терминале, введите df -h вы должны увидеть вывод, как показано ниже (обратите внимание на 100% на одну из файловых систем)

$ 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

в этом случае вам нужно сделать пробел, удалив файлы, папки артефактов e.t.c в корневом каталоге root /

Ответ 7

У меня была такая же проблема на компьютере с Windows 7x64. Все было в порядке с дисковым пространством и разрешениями.

Когда я извинился

tempfile.mkdtemp(prefix='MyPrefix_')

вручную в консоли python каталог %TEMP%\MyPrefix_xxxx был успешно создан. Но когда я сделал то же самое из сценария, я получил ошибку IOError: [Errno 2] No usable temporary directory found in [...].

Я решил проблему с помощью параметра dir:

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

После этого из скрипта все заработало.

Ответ 8

Я столкнулся с этим вопросом ранее сегодня. Я запустил запрос, встроенный в jupyter, перед тем, как пойти на обед, и вернулся к jupyter, выдавая какой-то тип ошибки (не могу вспомнить, что именно было). Когда я попытался перезапустить jupyter в терминале, я получил сообщение об ошибке, описанное в вопросе OP (нет доступного временного каталога). Приведенные выше ответы не сработали, поэтому я попытался перезапустить всю ВМ, после чего я получил ошибку, описанную здесь. После следования инструкциям в ответе этой темы проблема была решена.