本文主要是介绍【博主亲测】Python命令行运行报错ModuleNotFoundError: No module named ‘xxx‘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 问题描述
- 解决方案
问题描述
如果在Pycharm类似软件里不报错。但命令行python run.py
,报错:ModuleNotFoundError: No module named 'xxx'
。
解决方案
大概率import模块的时候使用的是相对路径,只需将模块的 path 添加到 sys.path
假设目录结构如下:
Project
├─module1
│ └─main.py
└─module2└─a.py
我们在main.py
中导入模块:
# main.py
from module2.a import *
那我们其实需要在 sys.path 中添加 module2 的路径:
# main.py
import sys
import ossys.path.append(os.path.dirname(sys.path[0]))from module2.a import *
我们来解释一下,sys.path[0]
表示main.py
的文件路径。
Project
├─module1
│ └─main.py
└─module2
└─a.py
os.path.dirname()
表示上一级目录,所以sys.path.append(os.path.dirname(sys.path[0]))
添加了 Project 目录,这时候自然能导入 module2 了
Project
├─module1
│ └─main.py
└─module2
└─a.py
这篇关于【博主亲测】Python命令行运行报错ModuleNotFoundError: No module named ‘xxx‘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!