在jupyter平台上跑的代码,忽然之前报错ModuleNotFoundError: No module named 'torch' ,没办法,只能按照需要的torch版本安装了一下:pip3 install torch==1.9.0+cu102 torchvision==0.10.0+cu102 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html ,但是语句运行完之后报错依旧,估计就是jupyter平台依赖的库和我新安装的库位置不一样。
分两步:
- 找到当前python的版本、所在位置、依赖的库、确认是否没装上
- 找到默认python3.7所在位置,然后重新安装库
1. 当前python默认版本、依赖的库
python --version
pydoc re
(这里会显示长串的pydoc re的说明文档,以vim显示,可以ctrl+Z退出,ctrl+f(表示forward)向下翻页,enter向下一行,一些简单的vim操作)
pip list
确实没有我新安装的torch
我新安装的库所在位置
Requirement already satisfied, skipping upgrade: typing-extensions in /usr/local/lib/python3.6/dist-packages (from torch==1.9.0+cu102) (3.7.4.1)
Requirement already satisfied, skipping upgrade: pillow>=5.3.0 in /usr/local/lib/python3.6/dist-packages (from torchvision==0.10.0+cu102) (7.0.0)
Requirement already satisfied, skipping upgrade: numpy in /usr/local/lib/python3.6/dist-packages (from torchvision==0.10.0+cu102) (1.18.2)
可以看到新安装的库安在了python3.6下,是报错的原因
2. 默认python3.7所在位置,然后重新安装库
想要直接locate python3.7 ,但是发现这台机子不仅bash: locate: command not found ,还bash: yum: command not found ,bash: rpm: command not found 所以开启一个安装基本command的支线任务
安装基本command(rpm\yum\locate)
1.安装rpm rpm命令简介 Linux rpm 命令用于管理套件。rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。 bash apt-get update apt-get install rpm
2.查看有无 yum安装包
bash $ rpm -qa |grep yum 啥都没显示,说明没有,于是
bash apt-get install yum
3.安装locate
bash apt-get install mlocate 4.locate python3.7 报错
bash locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory locate是通过生成一个文件和文件夹的索引数据库,当用户在执行loacte命令查找文件时,它会直接在索引数据库里查找,若该数据库太久没更新或不存在就报此错误,sudo updatedb 更新下数据库即可。
locate python3.7之后,发现主要 /usr/lib/python3.7和/opt/conda/lib/python3.7两个文件夹,但是locate python3.7有一个不好的地方就是会找到所有python3.7下的文件,而我只想到python3.7这一个文件夹的地址,不想要更细分的地址,可以用find -name python3.7 ,得到结果: 我使用的python 3.7应该在/opt/conda/bin/python3.7下,默认的python --version也是它,到底是哪里出了问题?
最后通过下面语句找到问题:
$ pip --version
pip 20.0.2 from /opt/conda/lib/python3.7/site-packages/pip (python 3.7)
$ pip3 --version
pip 20.0.2 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
上面语句说明希望在默认Pyhton版本为Python3.7时使用pip,希望在默认Pyhton版本为Python3.6时使用pip3,而我最开始用的pip3 install torch==1.9.0+cu102 torchvision==0.10.0+cu102 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
语句更改为:pip install torch==1.9.0+cu102 torchvision==0.10.0+cu102 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
结束
|