No such file or directory: ‘/tmp/tmpxxx/tmpxxx.py‘

        在运行python程序过程中,“No such file or directory” 是个经常容易出现的错误。这个错误比较常见的原因是路径下缺乏相应的文件,或者缺少相应的python库。解决方法主要是在:

        (1)在路径下添加缺失的文件或目录。

        (2)在程序中通过sys.path.append增加文件或目录所在路径。

        (3)通过pip安装缺失的库。

        但是,以上所述的情况都不能解决本文所说的错误。我们可以看到,提示的确实文件是在tmp文件夹下,说明该文件是一个临时文件。临时文件一般是python运行是自动产生并清除的。因此,我们是无法找到对应的文件路径,因为这个文件路径是随时可变的。每运行一次,又会在tmp文件夹下产生一个随机名称的文件夹。

        详细的错误提示如下所示:

         return _bootstrap._gcd_import(name[level:], package, level)
          File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
          File "<frozen importlib._bootstrap>", line 983, in _find_and_load
          File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
          File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
          File "<frozen importlib._bootstrap_external>", line 728, in exec_module
          File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
          File "/tmp/tmpn673osmy/tmph_33a_ku.py", line 26, in <module>

          lib/python3.7/tempfile.py", line 444, in close
          unlink(self.name)
          FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpn673osmy/tmph_33a_ku.py'

return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/tmp/tmpn673osmy/tmph_33a_ku.py", line 26, in <module>
lib/python3.7/tempfile.py", line 444, in close
unlink(self.name)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpn673osmy/tmph_33a_ku.py'

        一般造成这个错误的一种可能的原因是相关python文件出现了语法错误。以在mmclassification中文件为例,除了提示该错误之外,在错误信息之前还提到了config.py文件,以及错误NameError: name 'dataset_type' is not defined。因此,问题出现在config.py相关文件,并不一定是config.py自身。

        在mmclassification中,config.py是框架自身的文件,不存在语法错误。经检查发现,是自己定义的数据配置文件缺少了datase_type的定义。修复该问题之后,原来的tmp文件缺失错误也得到了修复。

Python 是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还有简单有效的面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。 Python 解释器及丰富的标准库以源码或机器码的形式提供,可以到 Python 官网 https://www.python.org/ 免费获取适用于各个主要系统平台的版本,并可自由地分发。这个网站还包含许多免费第三方 Python 模块、程序和工具以及附加文档的发布页面或链接。 Python 解释器易于扩展,可以使用 C 或 C++(或者其他可以通过 C 调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件中的扩展程序语言。 这个教程非正式地介绍 Python 语言和系统的基本概念和功能。最好在阅读的时候准备一个 Python 解释器进行练习,不过所有的例子都是相互独立的,所以这个教程也可以离线阅读。 有关标准的对象和模块,参阅 Python 标准库。Python 语言参考 提供了更正式的语言参考。想要编写 C 或者 C++ 扩展可以参考 扩展和嵌入 Python 解释器 和 Python/C API 参考手册。也有不少书籍深入讲解Python 。 这个教程并没有完整包含每一个功能,甚至常用功能可能也没有全部涉及。这个教程只介绍 Python 中最值得注意的功能,也会让你体会到这个语言的风格特色。学习完这个教程,你将可以阅读和编写 Python 模块和程序,也可以开始学习更多的 Python 库模块,详见 Python 标准库。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coding的叶子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值