python-找不到可用的临时目录
我正在尝试找到一个临时目录,但是当我尝试使用
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拥有。
OpenCurious asked 2020-07-11T20:47:28Z
8个解决方案
66 votes
这种错误发生在两种情况下
权限(应为drwxrwxrwt并由root拥有)
空间
要检查空间(磁盘使用情况),只需在终端上运行命令
df -h
将列出unix上的磁盘使用情况并获得如下输出
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 28G 15G 12G 58% /
如果根(安装在/上)的使用率是100%。
您需要清理tmp目录或重新启动计算机,或在根目录上腾出一些空间。
Atul Arvind answered 2020-07-11T20:49:18Z
10 votes
当文件系统已切换到只读模式时,可能会发生此错误。
Chris Mutel answered 2020-07-11T20:49:38Z
5 votes
在Docker中运行python脚本时遇到了同样的问题。 以下命令为我修复了该问题:
docker rmi $(docker images --quiet --filter "dangling=true")
Roozbeh Zabihollahi answered 2020-07-11T20:49:58Z
2 votes
当/上没有空格时,我遇到了同样的问题。
问题:
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.8 C 72 A 7.8 C 1%/ dev / s
/ dev / sda1
477M 34M 418M 8%/启动
当我清理出一些空间后,对我来说效果很好。
[root @ master日志]#服务色相启动
开始色相:[OK]
[root @ master日志]#
Ajit K'sagar answered 2020-07-11T20:51:10Z
1 votes
如果索引节点已满,也会出现问题。
您可以输入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
Yuukoo answered 2020-07-11T20:51:34Z
0 votes
肯定是磁盘空间问题,
在终端上,类型/您应该看到如下输出(注意其中一个文件系统为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
在这种情况下,您需要通过删除路径根目录/上的文件和工件文件夹等来腾出空间
Edwin Ikechukwu answered 2020-07-11T20:52:03Z
0 votes
我在Windows 7x64机器上有同样的问题。 磁盘空间和权限还可以。
当我执行
tempfile.mkdtemp(prefix='MyPrefix_')
在python控制台中手动创建目录dir已成功创建。但是,当我从脚本执行相同操作时,收到错误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', '.'))
之后,通过脚本运行良好。
and1er answered 2020-07-11T20:52:40Z
0 votes
我今天早些时候遇到了这个问题。 我在午餐前开始在jupyter中嵌入查询,然后返回jupyter抛出某种类型的错误(不记得是什么错误)。 当我尝试在终端中重新启动jupyter时,出现了OP问题(无可用的临时目录)中描述的错误。 上面的答案无效,因此我尝试重新启动整个VM,这时出现了此处描述的错误。 按照该线程的最高答案中的说明进行操作后,此问题已解决。
L. Taylor answered 2020-07-11T20:53:00Z