Conda环境添加PATH后不显示,模块导入失败求助
解决Conda环境中Python模块导入(ModuleNotFoundError: 'src')问题
以下是针对你场景的几种可行解决方案:
1. 临时脚本内添加路径(快速生效)
在pre_processing_factors.py的最顶部添加以下代码,手动把项目根目录加入Python的搜索路径:
import sys from pathlib import Path # 获取当前脚本所在目录,逐级往上找到项目根目录(gompertz_forecasting) project_root = Path(__file__).parent.parent.parent sys.path.append(str(project_root)) # 现在可以正常导入 from src.staging.generate_factors import x,y,z
这种方法不需要修改环境变量,直接在脚本层面解决,适合临时调试。
2. 正确配置PYTHONPATH到项目根目录
你之前把路径加到了src目录,这是错误的——Python需要找到包含src的项目根目录(gompertz_forecasting)才能识别src作为模块。
Windows下配置步骤:
- 打开系统属性 → 高级 → 环境变量
- 在用户变量里新建/编辑
PYTHONPATH,值设为C:/Users/.../gompertz_forecasting(替换成你的实际项目根路径) - 关闭并重新打开终端(Conda环境的终端也要重启),让环境变量生效
验证是否生效:在终端里运行python -c "import sys; print(sys.path)",检查输出里是否有你的项目根目录。
3. 正确使用conda develop
conda develop需要指向的是项目根目录,而不是src目录。执行以下命令:
conda develop C:\Users\...\gompertz_forecasting
这个命令会在Conda环境的site-packages里添加一个.pth文件,把项目根目录加入Python搜索路径。执行后重启终端,再尝试导入即可。
4. 把项目转为可安装包(长期规范方案)
如果是长期维护的项目,推荐把它做成可安装的包:
- 在项目根目录下创建
setup.py文件,示例内容:
from setuptools import setup, find_packages setup( name="gompertz_forecasting", version="0.1", packages=find_packages(), )
- 在Conda环境里执行本地安装:
pip install -e .
这样整个项目会以可编辑模式安装到环境里,不管你在哪个目录运行脚本,都能直接通过from src.staging.generate_factors import ...导入模块。
内容的提问来源于stack exchange,提问作者Arnold K
相关产品推荐
相关产品推荐

