声明:本文章仅对实验室服务器出现的错误,并不是通用错误。

问题说明:
相同的环境,在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的同时也将容器系统配置文件运行。
检验:

本文描述了在实验室服务器的VSCode环境中遇到的错误,与SSH环境对比发现PATH设置差异。问题在于VSCode启动时只加载~/.bashrc,未激活所需环境配置。解决方案是在VSCode的.bashrc中添加source/etc/profile.d/sothisai.sh以同步容器系统配置。
13万+

被折叠的 条评论
为什么被折叠?



