python - 导入火炬 ModuleNotFoundError:没有名为“火炬”的模块
问题描述
帮助我了解一些事情,我是 python 和所有这些依赖库的新手。
我正在尝试运行一个用 python 编写的项目。Git 存储库可以在这里找到:https ://github.com/ifzhang/FairMOT
在 anaconda 提示符下,我一直在运行以下命令:
conda create -n FairMOT
conda activate FairMOT
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
cd ${FAIRMOT_ROOT}
pip install -r requirements.txt
全部安装成功
我已执行自述文件中列出的所有步骤
现在有需要运行 shell 脚本的训练步骤。
假设在 anaconda 提示符下不会调用 shell 脚本,我切换到 git bash,然后运行脚本(记住路径)
sh experiments/crowdhuman_dla34.sh
它抛出错误
Sanam@LAPTOP-NPVR76P7 MINGW64 /f/NTNU/Deep learning/Repositories/FairMOT (master)
$ sh experiments/crowdhuman_dla34.sh
Traceback (most recent call last):
File "train.py", line 10, in <module>
import torch
ModuleNotFoundError: No module named 'torch'
问题是:除了 git bash 之外,是否还有其他控制台需要运行此命令?它绝对不适用于 anaconda 提示符。我做错了什么?
回到 anaconda 提示符,当我在那里测试导入时,它起作用了
(FairMOT) F:\NTNU\Deep learning\Repositories\FairMOT>python
Python 3.7.9 (default, Aug 31 2020, 17:10:11) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>>
我在哪里以及如何运行这个命令?这样它就可以工作了?在 git bash 上运行不好?
提前致谢!!
PS:我已经尝试过重新安装,激活/停用环境,但它不起作用
解决方案
请。首先创建一个虚拟环境,然后在那里安装所有依赖项。在 anaconda 中使用相同的 venv 并在激活了 venv 的任何终端中运行 bash 脚本。
此外,您可以运行which python
以确保您正在安装然后从同一个 python 解释器导入它
推荐阅读
- glsl - 在片段着色器中绘制球体法线贴图
- javascript - 在另一个函数上应用脚本
- python - 逆时针旋转矩阵也会改变原始矩阵
- ios - 在 Xcode 中搜索强捕获的引用
- r - 使用 bquote 和变量在 R 中创建粗体字体
- c# - odbc 连接字符串
- firebase - Angular 6 *ngFor 返回空数组,而数组实际上已满
- nginx - 在 Nginx 模块中使用 Linux 文件/目录函数?
- google-analytics - 是否会将自定义维度的值应用于出现 ga('set') 脚本的页面的综合浏览量
- java - 使用 Spring FrameWork 创建一个响应的多个对象