Conda - ModuleNotFoundError: No module named 'torch'

Conda - ModuleNotFoundError: No module named 'torch'

重现步骤:

我在 Windows 上使用 Anaconda 为此回购设置环境。

conda create --name pytorch-yolo

然后我使用 conda install --file requirements.txt

安装所有依赖项

哪个returns

PackagesNotFoundError: The following packages are not available from current channels:
- torch[version='>=1.2']

所以我用conda install pytorch torchvision cudatoolkit=10.2 -c pytorch

安装pytorch

当我尝试从以下 repo 评估模型时:https://github.com/eriklindernoren/PyTorch-YOLOv3 with python3 test.py --weights_path weights/yolov3.weights inside conda environment, returns 以下错误 ModuleNotFoundError: No module named 'torch'

如果我 运行 Jupyter 实验室或笔记本,甚至在 conda 终端内使用 python,则可以轻松导入 torch。

我已经尝试过的:

此线程中的几乎所有内容:

具体来说,创建一个新的 conda 环境,python 设置为 3.8.2,安装 torch 到 base,然后到环境。

我也在使用 pyenv 将全局 python 设置为 3.8.2,但这根本没有帮助。

conda list 显示我已经安装了 pytorch

无法解决这个问题。

您可能使用了错误的 python 二进制文件。你能试试python test.py --weights_path weights/yolov3.weights吗?

我不熟悉 Windows 终端,但您可以使用 where 命令获取二进制文件的路径(which 代表 Linux):

(pytorch-yolo) C:\Users\RemiChauvenne>where python3
C:\Users\RemiChauvenne\AppData\Local\Microsoft\WindowsApps\python3.exe

(pytorch-yolo) C:\Users\RemiChauvenne>where python
C:\Users\RemiChauvenne\miniconda3\envs\pytorch-yolo\python.exe
C:\Users\RemiChauvenne\AppData\Local\Microsoft\WindowsApps\python.exe

我们可以看到 python3 没有转到 conda 环境中的 python 二进制文件,而 python 正确链接到 pytorch-yolo。