vscode+ssh连接远程linux系统服务器,并用anaconda管理python环境
vscode+ssh连接远程linux系统服务器,并用anaconda管理python环境
(一)vscode连接服务器1. vscode下载插件:remote-SSH2. 连接服务器3. 修改配置
(二)将代码拷贝到服务器上与代码同步1. 转移代码2.查看3.代码同步
(三)anaconda管理环境1. anaconda的安装2. 配置环境3. 创建python环境4. 安装第三方库
(四)在vscode中使用服务器训练
(一)vscode连接服务器
1. vscode下载插件:remote-SSH
2. 连接服务器
依次点击1、2、3,其中第3部分输入如下:
ssh root@虚机ip -[端口号] 此时如果你的权限范围并不在root,就改成你所在的权限范围。(我们是以名字缩写在服务器创建了账户。)
假如我在服务器上的权限范围为zxy,服务器ip为123.456.789.000,端口号为22,则在第3部分输入:ssh zxy@123.456.789.000 -22,点击enter,输入密码,即可创建连接。
3. 修改配置
依次点击1、2、3,更改config文件
host后面可以任意,给这个配置的取名字(我用的是显卡名) hostName:服务器ip地址,上面提到的123.456.789.000 Port:端口名,上面提到的22 User:你的权限文件名,这里是上文提到的zxy
保存配置,之后可以直接使用,如下图,下次打开vscode直接点击右边红框即可连接服务器:
左下角显示如下图即连接成功:
(二)将代码拷贝到服务器上与代码同步
1. 转移代码
scp -r【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
以上面的ip、port、权限为例子(在命令窗口中使用时需要去掉下例中的引号):
scp -r "本地路径" zxy@123.456.789.000:"服务器上存放文件路径"
2.查看
下载MobaXterm,连接服务器,具体过程参考别的教程,通过linux命令可以查看代码是否已经移到了服务器
MobaXterm实现了服务器文件夹的可视化,也可以直接将本地代码拉进服务器文件夹内,单文件大的话速度很慢!
3.代码同步
服务器上代码与本地代码只能通过上传更新,但通过vscode插件SFTP可以实现实时更新
此处参考这个博主的博客:
SFTP插件使用
(三)anaconda管理环境
1. anaconda的安装
官网下载linux版本的anaconda,通过MobaXterm上传到服务器。(可以直接拉进去,也可以通过linux命令:scp移动) 这里下载的是:Anaconda3-2022.10-Linux-x86_64.sh 在MobaXterm中用linux命令:
bash Anaconda3-2022.10-Linux-x86_64.sh
接下来阅读协议、长按回车、输入“yes” 回车,即可开始安装。
2. 配置环境
添加环境变量:
export PATH="/home/用户名/anaconda3/bin:$PATH" # 修改为自己的bin路径
3. 创建python环境
conda create -n your_env_name python=x.x
创建一个名字为zzz,python版本为3.6的环境:
conda create -n zzz python=3.6
创建完毕后在文件夹anaconda3/envs/中可以看到环境文件zzz
4. 安装第三方库
为了加快下载速度可以添加镜像源(下列命令要一句一句执行):
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
如果速度还是很慢,需要把默认路径删掉。
(四)在vscode中使用服务器训练
vscode先连接服务器,打开上传到服务器中的代码,然后选择刚才配置好的环境的解释器。解释器的选择我的另一篇博文里面有记载:解释器选择
注意: 1、vscode运行时注意一下终端输出中的环境,一定要在你搭建的环境中才有你要的包,否则会报错。 2、注意linux系统没有图形页面,如果你的代码里面有画图,图形不会出现,因此需要加上保存图片的代码