You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python导入报错:No module named CPU_Processes问题求助

Python模块导入问题解决(同包模块引用+运行路径冲突)

问题核心

你的矛盾本质是两种运行场景下Python的模块搜索路径不一致:

  • 单独运行FCFS.py时,当前工作目录是algorithms,所以from CPU_Processes import Process能直接找到同目录模块
  • 运行views.py时,当前工作目录是Calculator,FCFS.py里的绝对导入会在Calculator目录下查找CPU_Processes,自然找不到

解决方案

1. 将algorithms标记为Python包

在algorithms目录下创建空的__init__.py文件,让Python识别它为可导入的包结构。

2. 修改同包内导入为相对导入

修改FCFS.py(以及其他需要导入Process的算法文件)的导入语句为:

from .CPU_Processes import Process

这里的.代表当前包(algorithms),无论从哪个入口运行,Python都会在同包内定位模块。

3. 正确运行views.py

从**项目根目录(CPU-Scheduling)**执行views.py,命令如下:

# Windows命令行
python Calculator\views.py

# Linux/macOS终端
python Calculator/views.py

这种方式会让Python自动将项目根目录加入模块搜索路径,views.py里的from algorithms.xxx import xxx语句就能正常生效。

4. 单独测试算法文件的正确方式

如果需要单独运行FCFS.py测试,同样从项目根目录以模块方式启动:

python -m algorithms.FCFS

-m参数会让Python以包模块的逻辑加载文件,自动处理包结构的导入依赖。

备选方案:手动指定模块搜索路径

如果不想每次都从根目录运行,可以在views.py开头添加以下代码,强制将项目根目录加入Python的模块搜索路径:

import sys
import os

# 获取views.py所在的Calculator目录路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 向上一级获取项目根目录(CPU-Scheduling)
root_dir = os.path.dirname(current_dir)
# 将根目录加入搜索路径
if root_dir not in sys.path:
    sys.path.append(root_dir)

添加后,即使在Calculator目录下直接运行python views.py也能正常工作。


内容的提问来源于stack exchange,提问作者user19116203

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 09:43:29