python ModuleNotFoundError_ No module named 'xxx'的解决方案

本文主要针对的自己写的包无法正常import的情况,如果是第三方包的话正常来说没有问题。

第三方包

主要考虑没有安装对应的版本以及包名写错了等奇葩情况,具体可参考ModuleNotFoundError: No module named ‘xxx’可能的解决方案大全

自建的包

如果是自己的包,可按照下面顺序来检查:

  1. 检查__init__.py文件是否存在:如果这个包是你自己写的,不妨检查一下待导入的包的根目录是否存在一个__init__.py文件,没有的话建一个空的__init__.py文件即可 (注意:不光要检查待导入的包根目录是否存在__init__.py文件,还需要检查当前程序所在文件夹是否存在这个文件
  2. 自己建的包不在PYTHONPATH目录下:这样通用的解决方案就是将对应包的路径添加到对应目录即可。
sys.path.append({这里改成model_path})
#比如:sys.path.append('~/abcd/Modeling') 自己建的包在Modeling文件夹下
  1. 第二步的代码和import的顺序:第二步的代码的执行顺序必须要在import之前,一个容易忽视的情况就是在if __name__ == '__main__'中写了对应的sys.path.append,但是由于import写在文件顶部的话会执行在语句之前,因为没有生效。

参考:https://zhuanlan.zhihu.com/p/416872266

我的博客园:https://www.cnblogs.com/swx123
我的github(代码一般都放在这里):https://github.com/578223592

posted @ 2023-10-26 21:35  思wu邪  阅读(399)  评论(0编辑  收藏  举报