ModuleNotFoundError:安装 TRT_pose 时没有名为“火炬”的模块
Posted
技术标签:
【中文标题】ModuleNotFoundError:安装 TRT_pose 时没有名为“火炬”的模块【英文标题】:ModuleNotFoundError: No module named 'torch' when installing TRT_pose 【发布时间】:2021-09-06 12:28:23 【问题描述】:我正在尝试开始使用 TRT_pose,但在尝试从 setup.py
安装插件时遇到困难,在终端中使用以下行:sudo python3 setup.py install --plugins
。我得到了错误
File "setup.py", line 2, in <module>
import torch
ModuleNotFoundError: No module named 'torch'
但是我已经用pip3 install torch==1.9.0+cpu torchvision==0.10.0+cpu torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
安装了torch、torchvision 和torchaudio,所以我不知道为什么我仍然看到这个错误。我在虚拟机上运行 Ubuntu 20.4,并安装了 Python 3.8.5。
【问题讨论】:
如果你运行pip3 list
,torch 会出现在列表中吗? (如果您使用的是虚拟环境并且您不小心激活了没有安装 Torch 的环境,可能会感到困惑)
是的,这就是显示的内容:torch 1.9.0+cpu torchaudio 0.9.0 torchvision 0.10.0+cpu
你正在启动 python3,而不是 python ? (以防python出于某种原因是第2版?)例如python3 -c "import torch;print(torch.__version__)" 的输出是什么?
是的,我在设置行中使用python3,输出为1.9.0+cpu
听起来你做的一切都是正确的。希望其他人有关于避免潜在曲线球的建议。愚蠢的问题,但是您是否尝试过重新启动并再次尝试,以防某些本机路径尚未完全正确设置?如果1.9.0+cpu
是python3的输出,显然它正确地导入了pytorch,所以setup.py没有看到它很奇怪。 (可能是用户/权限问题?sudo python3 -c "import torch;print(torch.__version__)"
是否也打印版本?(如果不是,您可能需要 sudo pip3 install pytorch...)
【参考方案1】:
请接受我的建议:我还没有运行 trt_pose。
听起来问题与作为默认用户和超级用户安装的内容有关。
python3 -c "import torch;print(torch.__version__)"
输出 1.9.0+cpu
,而 sudo python3 setup.py install --plugins
在导入 pytorch 时崩溃的事实表明 PyTorch 是为您的用户安装的,但不是超级用户。
您有多种选择,有些比较简单:
-
您需要使用
sudo
吗?如果您已经为您的用户安装了依赖项(PyTorch、CUDA 等),也许您可以按照安装指南进行操作,而无需在命令前加上 sudo
如果您确实需要使用 sudo,一种选择是重新安装您当前用户已经安装的依赖项,但使用 sudo
对于上述问题,一个潜在的 hacky 解决方法是创建从您的用户到 sudo
用户路径的符号链接,以便您的用户安装的相同库/二进制文件和 pip3 包也可用于 sudo
由于trt_pose
旨在在 nVidia 硬件上运行,因此值得仔细检查它是您需要使用的 PyTorch 的 cpu 版本还是 gpu + cuda 的版本。
【讨论】:
以上是关于ModuleNotFoundError:安装 TRT_pose 时没有名为“火炬”的模块的主要内容,如果未能解决你的问题,请参考以下文章
Python:“ModuleNotFoundError”,但安装了模块?
ModuleNotFoundError:即使我安装了功能工具,也没有名为“功能工具”的模块
已安装但 ModuleNotFoundError: No module named 'sklearn'
Django 已安装但无法运行 - ModuleNotFoundError: No module named 'django'