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

Windows10 CMD运行Python2.7.16导入scipy.py遇相对导入错误求助

修复"Attempted relative import in non-package"错误的方案

核心原因分析

你遇到的问题根源其实很典型:你自己创建了一个名为scipy.py的文件,还把它放在了Python的安装根目录C:\Python27下。当你执行脚本尝试导入scipy时,Python会优先搜索当前路径和sys.path里的文件,结果先找到了你自己写的scipy.py,而不是真正的第三方scipy库。这个自定义文件里的相对导入语句from .python import string_types在非包结构下是不允许的,所以直接抛出了错误。

具体修复步骤

  • 第一步:处理冲突的自定义文件
    找到C:\Python27\scipy.py,要么把它重命名成和第三方库不冲突的名字(比如my_scipy_helper.py),要么直接删除它——记住,永远不要让你的脚本文件名和标准库、第三方库同名,这是Python编程里的常见坑。
  • 第二步:清理残留的编译文件
    检查同一个目录下有没有scipy.pyc(Python编译生成的字节码文件),如果有的话也一起删掉,不然Python可能还会加载旧的编译缓存。
  • 第三步:验证修复效果
    打开CMD,输入python进入交互模式,执行import scipy,如果没有报错,再尝试运行你的目标.py文件,应该就能正常导入scipy库和相关内容了。

额外提醒

  • 不要把自己的脚本直接放在Python安装目录下,建议专门创建项目文件夹来存放代码,避免污染全局环境。
  • 在Python 2.7里,string_types其实是types.StringTypes,或者可以直接用内置的basestring类型,如果是你自己的代码需要用到,也可以直接从types模块导入,不用依赖scipy的内部结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:46:24