虚位以待(AD)
虚位以待(AD)
首页 > 操作系统 > Ubuntu/Debian > 解决ubuntu升级软件scons的错误

解决ubuntu升级软件scons的错误
类别:Ubuntu/Debian   作者:码皇   来源:BruceWoo的专栏     点击:

解决ubuntu升级软件scons的错误首先看看遇到的什么错误,这是在从13 04升级到13 10的过程中遇到的,如下:Traceback (most recent call last): File " usr lib python2 7 runpy py", line 162, in _ru
解决ubuntu升级软件scons的错误   首先看看遇到的什么错误,这是在从13.04升级到13.10的过程中遇到的,如下:   Traceback (most recent call last):   File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main     "__main__", fname, loader, pkg_name)   File "/usr/lib/python2.7/runpy.py", line 72, in _run_code     exec code in run_globals   File "/usr/lib/python2.7/py_compile.py", line 183, in <module>     sys.exit(main())   File "/usr/lib/python2.7/py_compile.py", line 165, in main     compile(filename, doraise=True)   File "/usr/lib/python2.7/py_compile.py", line 136, in compile     os.rename(path_tmp, cfile) OSError: [Errno 21] Is a directory dpkg: error processing scons (--configure):  子进程 已安装 post-installation 脚本 返回了错误号 101 在处理时有错误发生:  scons 看了上面信息,首先想到的就是google一下,看有没有解决方案,找了一会儿感觉希望不大,所以就开始想办法自己解决,还好是python脚步,而且有详细的traceback,至于什么scons,网上找找很多的,反正就是一个自动化生成编译工程的工具。         下面详细描述一下自己解决这个问题的过程和思路:         通过上面的traceback定位到文件/usr/lib/python2.7/py_compile.py的行数,我的是136.对应出错的函数是 os.rename(path_tmp, cfile),而且给出了很详细的出错信息,说是一个目录,python的rename函数要求两个都是文件。知道这一点,我在源码中os.rename函数之前加入了两行代码,分别是print path_tmp 和print cfile。最终通过这两句代码输出了错误的文件名路径,然后进入路径查看果然对应的重命名文件是一个目录(目标文件名已经存在,而且是一个目录),所以就报错了。其中还有两个,当然自己也不知道这两个空目录是怎么来的,找到问题了就简单多了涩,把对应的空目录删除掉,重新安装一切就ok了。         解决问题关键是找对思路,不然浪费很多时间还不一定能够有效的解决问题,随便在说一下自己升级ubuntu软件经常遇到的一个错误和解决方案,        问题是:失败的下载某一个升级的软件包(deb包),失败信息会把具体的url连接给出。       解决方案:手动下载,通过wget url,基本上都不会失败。然后把所有下载的包拷贝到/var/cache/apt/archives/目录下,然后重新运行升级命令即可。
相关热词搜索: 解决 ubuntu 升级