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

虚拟环境外运行Python项目出现src.core.module1模块找不到错误求助

解决Python 2.7导入错误:ImportError: no module named src.core.module1

这个问题的核心是Python模块搜索路径(sys.path)在虚拟环境和系统环境中的差异。当你在虚拟环境内运行时,项目根目录被自动加入了sys.path,Python能找到src模块;但系统Python的sys.path里没有这个路径,所以找不到你项目里的模块。下面是几种可行的解决方法:

方法1:调整导入语句(最简单)

如果你的main.py放在src目录下,那么src就是当前运行脚本的所在目录(或工作目录),你不需要在导入时加上src前缀。直接修改导入语句:

from core.module1 import stuff

这样不管在虚拟环境还是系统环境中运行,只要你在src目录下执行python main.py,Python都能找到core.module1。

方法2:手动将项目根目录加入sys.path

如果你不想修改导入语句,可以在main.py的最开头添加一段代码,把项目根目录(也就是src的父目录)加入Python的搜索路径:

import sys
import os

# 获取main.py文件的绝对路径,然后向上回溯到项目根目录
script_dir = os.path.abspath(os.path.dirname(__file__))
project_root = os.path.dirname(script_dir)
# 将项目根目录插入到sys.path的最前面,确保优先搜索
sys.path.insert(0, project_root)

# 现在可以正常导入了
from src.core.module1 import stuff

这段代码会自动识别项目根目录,不管你在哪里运行main.py,都能让Python找到src模块。

方法3:设置PYTHONPATH环境变量

在Windows系统中,你可以通过设置PYTHONPATH环境变量,让系统Python知道你的项目根目录。打开命令提示符,先执行:

set PYTHONPATH=C:\你的项目根目录路径

比如你的项目根目录是D:\my_python_project,就输入:

set PYTHONPATH=D:\my_python_project

然后再运行main.py:

cd D:\my_python_project\src
python main.py

这样系统Python就会把项目根目录加入搜索路径,顺利找到src.core.module1。

方法4:使用正确的运行路径

回到你的项目根目录,直接运行:

python src/main.py

这种情况下,不管是虚拟环境还是系统Python,都会自动把项目根目录加入sys.path,你的原始导入语句from src.core.module1 import stuff就能正常工作,不需要做任何修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:14:13