声明:本文章仅对实验室服务器出现的错误,并不是通用错误。
问题说明:
相同的环境,在ssh中运行时不会报错:
在vscode中运行时,会出现错误:
问题分析
在vscode中,echo $PATH:
/home/yuchunan/anaconda3/envs/VR_Sketch/bin:/home/yuchunan/anaconda3/condabin:/usr/local/nvm/versions/node/v16.15.1/bin:/usr/lib/code-server/lib/vscode/bin/remote-cli:/usr/local/lib/python3.8/dist-packages/torch_tensorrt/bin:/usr/local/mpi/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ucx/bin:/opt/tensorrt/bin:/home/yuchunan/.local/bin:/home/yuchunan/bin
在ssh中,echo $PATH:
/home/yuchunan/anaconda3/envs/VR_Sketch/bin:/home/yuchunan/anaconda3/condabin:/usr/local/mpi/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ucx/bin:/opt/tensorrt/bin:/home/yuchunan/.local/bin:/home/yuchunan/bin
说明(仅个人理解)
首先明确我们的path写在容器系统的配置文件中(/etc/profile.d/sothisai.sh),当打开ssh界面时容器系统会自动运行(/etc/profile.d/sothisai.sh)(~/.bashrc)两个文件,从而更新你的path地址。
但是在vscode中,当打开时,系统只会运行(~/.bashrc)文件,但是环境配置都是写在(/etc/profile.d/sothisai.sh)文件中,因此在打开时并未激活你所需要的路径。
解决
1. 打开vs code,在终端中运行vim ~/.bashrc
2.
在里面写上
source /etc/profile.d/sothisai.sh
使得vscode 打开时运行.bashrc的同时也将容器系统配置文件运行。