python bug之ModuleNotFoundError: No module named ‘xxxxx‘

python bug之ModuleNotFoundError: No module named ‘xxxxx‘,第1张

问题描述

在做python flask项目的时候遇到一个bug:

Traceback (most recent call last):
  File "/usr/lib/python3.8/pkgutil.py", line 493, in find_loader
    spec = importlib.util.find_spec(fullname)
  File "/usr/lib/python3.8/importlib/util.py", line 94, in find_spec
    parent = __import__(parent_name, fromlist=['__path__'])
ModuleNotFoundError: No module named '/localdata/xxxx/book-portal_v1'
解决方案

1、首先看了下我的目录文件,名称叫’/localdata/xxxx/book-portal_v1.3’,注意在项目名称中有'.'符号;
2、然后我利用了vscode的debug,逐步进入到发生异常的函数里面(/usr/lib/python3.8/importlib/util.py/find_spec),发现了这一条语句:parent_name = fullname.rpartition('.')[0],这条语句没执行之前,变量fullname = /localdata/xxxxx/book-portal_v1.3 没有问题,当执行这条语句之后,也就是将fullname‘.’符号前的部分,parent_name就变成了’/localdata/xxxx/book-portal_v1’,而不是我想要的’/localdata/xxxx/book-portal_v1.3’。

总结

python模块取名的时候,名字中不要出现 ‘.’符号

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/791865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存