IDE设置源根目录后终端运行Python脚本报No module named 'src'错误
报错原因
- IDE会自动将你标记的源根目录(此处为
src文件夹)加入Python的模块搜索路径sys.path,所以导入模块时不会出错。终端运行时默认仅将当前工作目录、Python标准库路径、第三方库路径加入搜索路径,找不到对应模块就会抛出该报错。 - 你使用的
python -m file.py命令格式错误:-m参数后需要跟模块导入路径,不能带.py后缀。
解决方案
以下三种方案按需选择即可:
方案1:调整执行命令(推荐临时测试用)
首先切换到项目根目录my-proj下,执行以下命令即可:
python -m src.file
注意不要进入src目录后再执行该命令,必须在项目根目录下操作
方案2:代码内手动添加搜索路径
在file.py文件的最开头添加如下代码,手动将源根目录加入搜索路径:
import sys from pathlib import Path # 将src文件夹的绝对路径加入搜索路径 sys.path.append(str(Path(__file__).parent.resolve()))
修改后无论在哪个目录下执行file.py都不会出现模块找不到的问题。
方案3:配置PYTHONPATH环境变量
如果需要长期生效,可以将src文件夹的路径添加到PYTHONPATH环境变量中:
- 临时生效(仅当前终端窗口有效)
- Linux/macOS终端执行:
export PYTHONPATH="/你的本地路径/my-proj/src:$PYTHONPATH"- Windows CMD执行:
set PYTHONPATH=C:\你的本地路径\my-proj\src;%PYTHONPATH%- Windows PowerShell执行:
$env:PYTHONPATH = "C:\你的本地路径\my-proj\src;$env:PYTHONPATH" - 永久生效:将上述对应命令加到终端配置文件(如Linux/macOS的
.bashrc/.zshrc),或添加到Windows系统环境变量中即可。
内容的提问来源于stack exchange,提问作者GlaceCelery
相关产品推荐
相关产品推荐

