admin 管理员组

文章数量: 887019

文章目录

  • 前言
  • 一、获得专业版pycharm
  • 二、购置腾讯云服务器
  • 三、在服务器内配置Docker
    • 1.更换国内源
    • 2.安装Docker引擎
      • 一、卸载旧版本
      • 二、安装Docker
    • 3.取消输入sudo
  • 四、根据Docker镜像创建容器
    • 1.在DockerHub上注册账号
    • 2.在服务器上登录Docker账号
    • 3.拉取Ubuntu:20.04镜像
    • 4.创建并运行容器
    • 5.配置容器
    • 5.开放服务器端口
  • 五、在容器内安装ananconda
    • 1.新建用户
    • 2.安装ananconda
    • 3.anaconda换源
    • 3.创建一个conda环境
  • 六、Pycharm配置
  • 七、后记


前言

笔者使用该方法旨在减少跑机器学习代码时对本地电脑的负担,使得在跑代码时能够同时进行其他工作,提高工作效率,并通过该文章分享笔者在装环境过程中遇到的问题,以避免后来人才同样的坑


一、获得专业版pycharm

教育认证网址
进入申请页面之后,有4种方法可以申请。

  • 使用学生邮箱(.edu后缀的教育邮箱不可申请,.edu后缀的教育邮箱可以申请)。
  • 使用 国际学生证(International Student Identity Card,简称ISIC。(没用过,不太清楚-.-)
  • 使用官方文件,需要用到学生证和学信网验证信息。(差不多两周时间,慢)
  • 如果你的github已经成功申请到了学生开发包。那你可以直接使用github授权。(github学生包申请较快,只需三天时间)

提交申请后关注一下自己预留的邮箱和官网,通过后即可下载安装专业版pycharm

二、购置腾讯云服务器

地址:腾讯云官网
云服务器一般都有活动,选择自己想要的类型买就可以了,活动一般都在主界面有

点进去之后,选择自己需要的服务器即可

笔者是学生,所以选择了1核2G的云服务器作为自己的学习用服务器

注:

  • 如果也想和笔者配置一样的云服务器,注意不是轻量应用服务器
  • 购买后没有Ubuntu20.04的实例,可以购买后在控制台的重装系统修改
  • 控制台实例修改网络到按流量计费,带宽拉满,还可以退还二三十块钱

三、在服务器内配置Docker

在服务器内配置Docker环境能够使得自己的环境具有可移植性,不用担心服务器到期时转环境的麻烦,同时,如果对腾讯云不满意的话,也可以用Docker镜像把自己在腾讯云上的项目移植到阿里云上面去等等。


1.更换国内源

注:

  • vim编辑器内要按键盘上的 i i i键才能开始编辑
  • 腾讯云上好像已经配置好了腾讯云的源,如果没问题的话这步可以略过

我们进入新的服务器之后,首先更换国内源保证下载速度稳定
先打开文件,如果看到的是腾讯云的源就不用管了,如果不是腾讯云的源那就把原来的源注释掉

sudo vim /etc/apt/sources.list

然后在尾部加上

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-security main restricted universe multiverse

更新列表

sudo apt-get update 

2.安装Docker引擎

官方文档

一、卸载旧版本

一般来说新的服务器不需要这一步,当然,如果安装失败了可以返回这一步重新开始

sudo apt-get remove docker docker-engine docker.io containerd runc

二、安装Docker

更新apt包索引:

sudo apt-get update

安装软件包以允许apt通过HTTPS使用存储库:

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

添加Docker的官方GPG密钥:

curl -fsSL https://download.docker/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

使用以下命令设置稳定存储库。

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新apt包索引:

sudo apt-get update

安装最新版本的Docker Engine-Community和containerd

sudo apt-get install docker-ce docker-ce-cli containerd.io

会下载的有点久,下完后使用下列命令来查看docker版本

docker --version

出现版本号即为安装成功

3.取消输入sudo

把用户加入用户组即可

sudo usermod -aG docker $USER
sudo systemctl restart docker

四、根据Docker镜像创建容器

1.在DockerHub上注册账号

DockerHub官网
注:记住自己的用户名和密码

2.在服务器上登录Docker账号

sudo docker login

接下来输入自己的账号密码,登陆成功!

3.拉取Ubuntu:20.04镜像

sudo docker pull ubuntu:20.04

查看镜像

docker images

显示如下,即拉取成功

4.创建并运行容器

创建一个名字为myserver的容器,映射关系为20000到22,5901到5901
注:

  • 如果端口创建错了,最简单保险的方法是把这个容器重新打包成镜像,然后再生成一遍容器。
  • 在- -name 后面是将要创建的容器的名字,如果改动的话下面相应位置也要变化。
docker run -p 20000:22 -p 5901:5901 --name myserver -itd ubuntu:20.04

进入容器。

docker start myserver
docker attach myserver

5.配置容器

由于这是一个什么都没有的ubuntu,我们要先对其进行配置,从而使得以下步骤能有序进行。
首先,安装sudo, vim

apt-get update
apt-get install sudo
apt-get install vim
apt-get install ca-certificates

更换国内源
注:

  • vim编辑器内要按键盘上的 i i i键才能开始编辑

我们进入新的服务器之后,首先更换国内源保证下载速度稳定

sudo vim /etc/apt/sources.list

删除所有内容,然后在尾部加上

deb https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu/ubuntu/ bionic-security main restricted universe multiverse

保存退出后,更新列表

sudo apt-get update 

至此,容器创建完成,我们要去服务器的控制台把我们要用到的端口打开。

5.开放服务器端口

先进入控制台的安全组

新建自定义规则

添加规则,格式如图,备注自定义,自己看得懂就行

设置好后的规则如下

出站规则记得全部放开

五、在容器内安装ananconda

1.新建用户

首先,先新建一个用户,免得一直使用root不太好。新建一个user,名字是lin,当然可以自定义,但是使用大写字母会报错

adduser lin

把sudo权限赋给lin用户

usermod -aG sudo lin

转换为用户lin

su lin

下载并启动ssh,要不然无法进行远程连接

sudo apt-get install ssh
sudo apt-get install openssh-server
sudo /etc/init.d/ssh restart

2.安装ananconda

下载wget

sudo apt-get install wget

使用wget下载anaconda

sudo wget https://repo.anaconda/archive/Anaconda3-2021.05-Linux-x86_64.sh

安装anaconda

bash Anaconda3-2021.05-Linux-x86_64.sh

接下来是许可协议,按enter建即可
输入“yes”,表示接受许可
输入“yes” ,添加环境变量,一定要添加
之后更新环境

source ~/.bashrc

验证是否成功

conda list

成功后可以删除掉Anaconda3-2021.05-Linux-x86_64.sh节省空间,也可以不删

sudo rm Anaconda3-2021.05-Linux-x86_64.sh

3.anaconda换源

Anaconda换国内源,输入下列命令

conda config --add channels https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/free/
conda config --set show_channel_urls yes

打开~/.condarc文件

vim ~/.condarc

删除所有内容,粘贴下列内容

channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu/anaconda
default_channels:
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu/anaconda/cloud

更新环境

conda update --all

3.创建一个conda环境

创建一个名字叫pycharm_load的环境,版本为python3.8

conda create -n pycharm_load python=3.8

之后有需要的包再自行安装,然后进入该环境。

conda activate pycharm_load

在当前目录下再新建一个文件夹,起名为pycharm_test,作为云端保存代码的文件夹

mkdir pycharm_test

六、Pycharm配置

接下来我们来配置本地端,专业版pycharm安装完成并新建一个项目后,如图所示,找到Configuration选项

点击添加一个SFTP

随意输入一个名字,例如pycharm_server,创建一个SFTP

然后根据下图进行配置

点击ok保存后,再根据下图操作


然后点击此按钮,上传代码至云服务器的容器内

上传成功,当然我这里开了自动保存,每次本地保存代码都会自动保存到云端,开启方法点击上图的Automatic Upload (Always)这个选项保证其左侧有一个勾。

上述过程我们仅仅远程连接了两个代码保存文件夹,最后一步我们就是要添加远程运行环境了,按下图所示,点击Adding Interpreter



配置完成,运行一下print(“hello world”)

运行成功!!

七、后记

在服务器端运行代码的话有一个问题就是无法显示图像,使用matplotlib等库的时候会出现问题,目前我所查到的方法是给服务器安装图形界面,然后使用MobaXterm直接连上服务器去看(网上好像说Xming+Xshell的方法可以解决,但是我尝试了很多篇Blog也无法解决)
花了两天时间完成这篇Blog,虽然笔者在之前已经完成过一次了,但是这次重新配置的过程中仍然出现了一些错误,笔者也已经解决这些问题并将其更正到Blog里面了,如果大家在配置过程中仍然有错误或者问题的欢迎在评论区指出,笔者也会更正错误以及尽可能帮助解决问题。 ≡ω≡

本文标签: 专业版 运行环境 腾讯 连接到 pycharm