Index 目录索引

  • 写在前面
  • 需求分析
  • 解决过程
  • 参考文章

写在前面

在服务器端安装库文件的过程中,可能你也会跟我一样遇到各种各样的错误提示,虽说网上各种各样的教程都有,但授之以鱼不如授之以渔,不妨跟着我一起来体会一下Debug的思维过程。虽然不能保证我的这个思维是最完美的,但是相信看完之后你会有所收获的,废话不多说,开始进入正题。

需求分析

在服务器端安装 torchvision 库文件的过程中,可能会遇到如下错误提示:

ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

既然是文件报错Debug帖,那么就先抛出详细的安装过程及报错信息:

[root@*** ***]# pip install --user torchvision -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
Looking in indexes: http://pypi.douban.com/simple/
Collecting torchvision
Downloading http://pypi.doubanio.com/packages/7e/90/6141bf41f5655c78e24f40f710fdd4f8a8aff6c8b7c6f0328240f649bdbe/torchvision-0.5.0-cp36-cp36m-manylinux1_x86_64.whl (4.0 MB)
|████████████████████████████████| 4.0 MB 17.9 MB/s
Requirement already satisfied: pillow>=4.1.1 in /usr/local/python3/lib/python3.6/site-packages (from torchvision) (6.0.0)
Requirement already satisfied: numpy in /usr/local/python3/lib/python3.6/site-packages (from torchvision) (1.16.2)
Requirement already satisfied: six in /usr/local/python3/lib/python3.6/site-packages (from torchvision) (1.12.0)
Collecting torch==1.4.0
Downloading http://pypi.doubanio.com/packages/24/19/4804aea17cd136f1705a5e98a00618cb8f6ccc375ad8bfa437408e09d058/torch-1.4.0-cp36-cp36m-manylinux1_x86_64.whl (753.4 MB)
|████████████████████████████████| 753.4 MB 4.1 MB/sInstalling collected packages: torch, torchvision
ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

解决过程

通过上述代码片段的最后一行可以看到报出的错误所在,最开始的调试阶段当然是根据错误信息去网上搜索相关的解决方法,以及向别的大佬们请教。

分析是因为tmp目录空间内存不足,所以重定向tmp目录,Debug的过程如下:

[root@*** ~]# ```bash
>
> mkdir $HOME/tmp
> export TMPDIR=$HOME/tmp
>
> ```
...
...
[root@*** ~]# pip install --user torchvision -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

可以看到,试了上述的这个方法之后,还是依旧会报错。这个时候就感觉有点像是热锅上的蚂蚁了,因为目前网上所有的方式几乎都试了个遍,可就是不奏效。

干着急也没用,冷静下来后,仔细分析这个错误原因,既然提示说是内存不足,那么就回到这个安装目录去,使用df -h命令来查看内存的剩余情况。虽然提示是服务器端内存不足的原因,但是感觉又有点不可思议,这个服务器应该不可能会出现内存不足的情况,接下来用数据说话:

[root@*** ~]# mkdir $HOME/tmp
[root@*** ~]# export TMPDIR=$HOME/tmp
[root@*** ~]# cd $HOME/tmp
[root@*** tmp]# cd /root
[root@*** ~]# ls
anaconda-ks.cfg lrzsz-0.12.20 lrzsz-0.12.20.tar.gz tmp
[root@*** ~]# cd /root/tmp
[root@*** tmp]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/docker-8:***                10G 7.3G 2.8G 73% /
tmpfs 94G 0                             94G 0% /dev
tmpfs 94G 0                             94G 0% /sys/fs/cgroup
/dev/sdb                                5.2T 19G 5.0T 1% /data
/dev/sda4                               408G 83G 305G 22%/etc/hosts
***:/home/***                           80T 3.9T 72T 6% /home/***
shm 64M 0                               64M 0% /dev/shm
***:/opt/tsce4/tools/dockerShare/***    4.2T 136G 3.9T 4% /opt/tsce4/tools/dockerShare/***
tmpfs 94G 0                             94G 0% /sys/firmware

通过以上数据信息可以知道,我的上述这番怀疑并非没有道理,安装失败并不是因为内存不足的原因。

再次经过了一番冷静的思考之后,猜测是否是权限不足的原因,所以接下来尝试使用chmod -R 777 tmp命令对tmp这个文件夹进行提权操作1,具体过程如下:

[root@*** ~]# ls -l
total 284
-rw------- 1 root root   3415 Oct  6  2018 anaconda-ks.cfg
drwxrwxrwx 9  406 disk   4096 Dec 21 14:06 lrzsz-0.12.20
-rw-r--r-- 1 root root 280938 Dec 30  1998 lrzsz-0.12.20.tar.gz
drwxr-xr-x 2 root root      6 Apr 17 09:09 tmp
[root@*** ~]# chmod -R 777 tmp
[root@*** ~]# ls -l
total 284
-rw------- 1 root root   3415 Oct  6  2018 anaconda-ks.cfg
drwxrwxrwx 9  406 disk   4096 Dec 21 14:06 lrzsz-0.12.20
-rw-r--r-- 1 root root 280938 Dec 30  1998 lrzsz-0.12.20.tar.gz
drwxrwxrwx 2 root root      6 Apr 17 09:09 tmp

接下来再次重新安装该库文件,惊喜地发现已经可以成功安装了,接下来跟着我一起来见证这个神奇的时刻:

[root@*** ~]# pip install torchvision -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
Looking in indexes: http://pypi.douban.com/simple/
Collecting torchvisionDownloading http://pypi.doubanio.com/packages/7e/90/6141bf41f5655c78e24f40f710fdd4f8a8aff6c8b7c6f0328240f649bdbe/torchvision-0.5.0-cp36-cp36m-manylinux1_x86_64.whl (4.0MB)100% |████████████████████████████████| 4.0MB 19.4MB/s
Requirement already satisfied: six in /usr/local/python3/lib/python3.6/site-packages (from torchvision) (1.12.0)
Requirement already satisfied: pillow>=4.1.1 in /usr/local/python3/lib/python3.6/site-packages (from torchvision) (6.0.0)
Collecting torch==1.4.0 (from torchvision)Downloading http://pypi.doubanio.com/packages/24/19/4804aea17cd136f1705a5e98a00618cb8f6ccc375ad8bfa437408e09d058/torch-1.4.0-cp36-cp36m-manylinux1_x86_64.whl (753.4MB)100% |████████████████████████████████| 753.4MB 9.0MB/s
Requirement already satisfied: numpy in /usr/local/python3/lib/python3.6/site-packages (from torchvision) (1.16.2)
Installing collected packages: torch, torchvisionFound existing installation: torch 0.4.1Uninstalling torch-0.4.1:Successfully uninstalled torch-0.4.1
Successfully installed torch-1.4.0 torchvision-0.5.0
You are using pip version 19.0.3, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

写到这里,差不多本文就要结束了。之所以会选择写这篇文章,是因为在调试这个错误的时候,自己走了很多弯路,因为发现找到的有些方法其实并不实用,反而还浪费了很多的时间和精力,为了不让后面再次遇到这个问题的小伙伴走弯路,索性就把我的这个方法和思路拿出来分享,供小伙伴们参考。如果有问题可以在下方留言区留言交流。如果我的这篇文章帮助到了你,那我也会感到很高兴,一个人能走多远,在于与谁同行。

参考文章


  1. Linux中chmod -R 递归修改文件权限的操作和 默认权限umask ↩︎

服务器安装torchvision库文件时报错EnvironmentError: [Errno 28] No space left on device的完美解决方法及思维过程相关推荐

  1. Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

    Could not install packages due to an EnvironmentError: [Errno 28] No space left on device 1. 问题现象 安装 ...

  2. 成功解决ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

    成功解决ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device ...

  3. OSError: [Errno 28] No space left on device以及查看系统分区情况

    在Linux服务器运行程序的时候,运行完一个epoch后就会出现这个报错OSError: [Errno 28] No space left on device. 大致意思就是说系统的空间不足. 查看系 ...

  4. 成功解决OSError: [Errno 28] No space left on device

    成功解决OSError: [Errno 28] No space left on device 目录 解决问题 解决思路 解决方法 解决问题 OSError: [Errno 28] No space ...

  5. 编译库文件时报错move_base: symbol lookup error: undefined symbol:

    Q:编译库文件时报错/opt/ros/kinetic/lib/move_base/move_base: symbol lookup error: /home/xjl/deepDisk/ubuntu/f ...

  6. ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

    场景:pycharm下安装模块,报cache错误 使用的指令: pip install -r .\requirements.txt 在我们安装模块的时候,出现下面错误: ERROR: Could no ...

  7. pip安装ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device解决方案

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...

  8. Pytorch中torchvision.datasets.ImageFolder报错:Found 0 files in subfolders of:XXX,完美解决!

    1.报错如下: RuntimeError: Found 0 files in subfolders of:XXX Supported extensions are: .jpg,.jpeg,.png,. ...

  9. hadoop-3.1.3启动HDFS时报错ERROR Attempting to operate on hdfs namenode as root的解决方法

    今天在使用hadoop时遇到了下面这个问题,看报错信息是用户问题,于是上网查了下解决方案,找到两种方式,我使用的是方法1,下面将两种方式都列给大家参考. 报错场景: hadoop-3.1.3启动HDF ...

最新文章

  1. Binder通信中的代理模式
  2. 2019年最后的一天_2019最后一天的说说 2019最后一条朋友圈再见2019
  3. Elasticsearch Transient与Persistent的区别
  4. html 实现列表组并排,列表组--自定义列表组
  5. laravel event
  6. ArcGIS里表示地理信息的动态变化(例三)
  7. 移动电话用户突破6亿大关
  8. 洛谷 3951 小凯的疑惑
  9. Atitit 马尔可夫过程(Markov process) hmm隐马尔科夫。 马尔可夫链,的原理attilax总结
  10. python分片赋值_关于 python 分片赋值
  11. 怎样获得淘宝商品类目API接口
  12. 有限状态机 Finite State Machine(FSM)
  13. matlab中三种原油问题,基于MATLAB联合站原油加热模糊控制(程序)
  14. ps入门第8天_ps通道_颜色通道Alpha通道 案例:通道抠图
  15. Failed to open the host Key database file
  16. JAVA常用遍历替换数据
  17. 找工作的时候怎样判断一家公司靠不靠谱
  18. 液压管路渗漏图像识别检测方法研究
  19. 整数规划 - 数学建模
  20. 《基于ITK和VTK的医学图像处理系统设计与实现》

热门文章

  1. Java前叉夹器_新手知识:为什么说公路直装夹器更好呢?
  2. Linux 下 美化字体
  3. 第一章 基本数据类型-API的理解和使用
  4. 黄金期货对比现货黄金有哪些优势
  5. MySQL auto_increment介绍及自增键断层的原因分析
  6. 手机上计算机记录怎么删除,手机怎么删除支付宝消费记录 清除支付宝账单明细方法...
  7. h5调用指纹识别_如何玩转指纹解锁H5插件?
  8. 南邮 OJ 2001 水獭看动漫
  9. bilibili缓存文件在哪里_64G手机总提示空间不足?清理这4个文件夹,内存立马空出十几G...
  10. wx小程序笔记(2)