假设我的文件名为s.sh
1. 报错
shell: /bin/sh^M: bad interpreter: No such file or directory
解决:命令行输入
vi s.sh
删除不正常显示的^M字符,然后,esc,:wq,之后在命令行输入
head -1 s.sh | od -c
这是错误的:
0000000 # ! / b i n / b a s h \r \n
这也是错误的:
0000000 357 273 277 # ! / b i n / b a s h \n
这是对的:
0000000 # ! / b i n / b a s h \n
命令行输入:
sed -i '1s/^.*//;s/\r$//' s.sh
可以将错误的修复成对的。
2. 已经安装在conda中的python相关模块无法import
举个例子:
我已经利用Anaconda新建了一个环境,并且全部使用conda install安装模块,而且conda list可以看到这一模块,但是使用python环境时却无法import?这是因为没有安装base的pip,只需要再pip install该模块即可。(此处感谢师弟大晚上大半夜的帮我找了好久的问题,撒花✿✿ヽ(°▽°)ノ✿~~)
3. 报错
TclError: couldn't connect to display "login02:12.0"
login后面的数字不定。这是因为在代码中使用了matplotlib模块在服务器中显示绘图,解决方法是不显示图像:
① 删除imshow等相关代码;
② 在import matplotlib处增加如下两句:
matplotlib.use('Agg')
import matplotlib.pyplot as plt
4. 查看服务器的适配whl
>>> import pip._internal.pep425tags
>>> print(pip._internal.pep425tags.get_supported())
我用的是64位的centos,pip是旧版的其他类型可以参考:
https://blog.csdn.net/qq_38161040/article/details/88062405
如果pip是新升级的,请直接在命令行:
pip debug --verbose
参考:
https://unix.stackexchange.com/questions/27054/bin-bash-no-such-file-or-directory