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

非家目录运行PyTorch报'torch is not a package'错误求解

问题根因

这个报错和PyTorch本身无关,是典型的Python模块名遮蔽问题:
Python执行脚本时,会默认把脚本所在的当前工作目录放在模块搜索路径的最高优先级位置。从报错栈可以看到,出问题时运行的脚本路径是/Users/xxxxxxx/torch/torch.py——要么你把自己写的测试脚本直接命名成了torch.py,要么脚本所在目录下存在名为torch.py的文件/名为torch的自定义文件夹,Python执行import torch时,优先加载了你本地的这个同名文件/目录,根本没有导入系统里安装的正式PyTorch包,自然找不到torch.nn这个子模块,抛出'torch' is not a package的错误。
在家目录~/下运行脚本无报错,就是因为家目录下不存在和torch重名的自定义文件/文件夹,Python可以正常搜索到安装的PyTorch第三方包。

修复步骤
  • 将自定义测试脚本重命名,禁止和第三方包重名,比如改成test_torch_net.py即可
  • 进入脚本所在目录,删除自动生成的__pycache__缓存文件夹,同时排查目录下是否存在其他命名为torch.py的文件、或命名为torch的自定义文件夹,有则全部重命名或移除
  • 重新运行脚本即可正常输出网络结构
冲突排查方法

如果不确定是否清理干净冲突,可以在脚本开头加两行代码,打印当前加载的torch包来源路径:

import torch
print(torch.__file__)

如果输出路径以Python环境下的site-packages/torch开头,说明冲突已经解决;如果输出是你本地自定义的文件路径,说明还有同名遮蔽源没清理。

这类问题是Python导入机制的通用问题,和PyTorch无关:只要自定义脚本/文件夹和任意第三方包重名,都会触发同类导入错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:01:06