用了screen后,同样环境同样命令下出现No module named XXX

问题描述:

用screen之前,可以正常运行。

使用screen之后,出现Error:

ModuleNotFoundError: No module named 'torch'

原因分析:

在screen后的窗口中输入which python,得到如下结果:

(spadn) XXX@gpu01:~XXX/DeblurGAN-master/OneNet$ which python
/home/XXX/anaconda3/envs/tfdpdnn/bin/python

可见,明明应该是spadn下的环境,却进入了tfdpdnn的环境。tfdpdnn是装的tensorflow, 故没有pytorch模块。

解决方法:

法1(比较蠢):

将想要使用的那个环境(本文中是spadn)下的python文件(名字一般是python3.6)改成一个比较奇怪的名字,不和tfdpdnn环境下的Python文件重名。例如,改为pyth0n,运行程序时也在命令行中运行:

pyth0n main.py

即可。

虽然的确可以使程序正常运行,但这样若输入nvidia-smi,会出现如下结果:

好蠢好蠢

方法2

暂时还没有更好的方法,网上的很多方法也无效。待续。

发布了47 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qazwsxrx/article/details/104251270