Conda - ModuleNotFoundError:没有名为“torch”的模块

Nik*_*Ska 0 python anaconda conda pytorch

重现步骤:

我在 Windows 上使用 Anaconda 来为此存储库设置环境。

conda create --name pytorch-yolo

然后我安装所有依赖项conda install --file requirements.txt

哪个返回

PackagesNotFoundError: The following packages are not available from current channels:
- torch[version='>=1.2']
Run Code Online (Sandbox Code Playgroud)

所以我安装 pytorchconda install pytorch torchvision cudatoolkit=10.2 -c pytorch

当我尝试使用内部 conda 环境评估以下存储库中的模型: https://github.com/eriklindernoren/PyTorch-YOLOv3python3 test.py --weights_path weights/yolov3.weights时,它返回以下错误ModuleNotFoundError: No module named 'torch'

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

我已经尝试过的:

几乎所有内容都来自此线程:没有名为“Torch”的模块

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

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

conda list显示我已经安装了 pytorch

我无法解决这个问题。

Rém*_*nne 5

您可能使用了错误的 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
Run Code Online (Sandbox Code Playgroud)

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