网站的后台需要搭建自动化脚本,激活相应的conda虚拟环境,再运行python测试指令。
1 | # cmd.sh |
尝试在.sh文件中,像在shell中一样直接激活,却报了错。
1 | ArgumentError: Invalid shells: |
报错显示,Your shell has not been properly configured to use 'conda activate'.
按照指示,在sh内外都尝试运行了conda init bash
,还是没有解决。
解决方法:
1. conda initialize
打开~/.bashrc文件,找到conda initialize
对应部分代码:
将其复制到cmd.sh
中conda activate pytorch1
的前面,即
1 | # >>> conda initialize >>> |
再次运行sh cmd.sh
,刚刚的报错消失!方法参考自CSDN。
2. 再次报错syntax error: unexpected end of file
我这里还遇到一个问题:复制过来后,之前的报错解决了,但是出现新的问题
1 | -bash: cmd.sh: line 17: syntax error: unexpected end of file |
这个问题很可能是从其他系统编写的shell脚本在Linux下运行所造成的。(但是我一直都在Linux服务器上进行复制粘贴,可能是MobaXTerm的文本编辑器的问题。)
解决方法:
- vim编辑文件
1 | vim filename |
- 设置文件格式
1 | :set fileformat=unix |
- 保存退出
1 | :wq |
再次运行sh cmd.sh
,成功执行test.py文件!方法参考自CSDN。
附上我的测试结果:
1 | # cmd.sh |
1 | # test.py |
在另一个服务器远程发送指令,进行调试:
(详细过程见另一篇文章)
成功!!