系统: windows11
语言: python 3.9.7
IDE: pycharm
命令行工具: powershell
报错
ModuleNotFoundError: No module named 'xxxx'
现象和原因分析
现象:
项目通过pycharm创建和开发, 包含多个层级和目录, 并且要运行的单个python文件引用了其他目录的模块和第三方模块, 原本通过pycharm可以直接运行单个文件, 一切正常, 但是通过命令行的方式通过python命令运行单个文件时, 运行报错, 错误如上…
原因分析(未找到’xxxx’模块):
1.模块属于第三方模块, 但是模块未安装或者安装未成功导致
2.引用自己的模块未找到正确引用路径
解决办法
1.安装模块
# 默认方式安装
pip install 模块名
# 国内源安装
pip install 模块名 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 从依赖文件安装
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2.模块引用路径问题
先使用交互式命令窗口查看可用的引用路径根目录
>> import sys
>> sys.path
系统环境下交互式命令行运行
项目虚拟环境下运行(pycharm python控制台)
可以看到, 在pycharm中, sys.path除了能看到系统的python依赖包目录, 还有虚拟环境的依赖包目录, 还有项目根目录, 但是这些是pycharm是帮我们做的, 所以, 不使用pycharm单独运行python文件时, 可以在要运行的文件代码最上方加上如下代码就可以运行了:
import sys
sys.path.append("C:\\Users\\nonevx\\Documents\\Github\\seeyii-ui-test")
运行时, 把项目路径加进去, 就可以正常找到此项目下的其他模块了…