当前位置:首页 > CN2资讯 > 正文内容

云服务器跑matlab 云服务器跑程序

3天前CN2资讯


背景:前段时间帮学长跑实验,在电脑上挂着得跑15个小时左右。白天跑,半夜跑,跑了5、6次,一次因为电脑死机,一次因为PyCharm闪退。跑了那么久全白费,想想就气。而且在本地跑实验十分占用CPU等资源,耗电又有风险。想着自己还有个服务器,这2天就捣鼓了下怎么在服务器上跑实验。总结下步骤,避免大家采坑。


主要内容:

本文将讲解如果利用现有的云服务器来跑python程序。

  • 使用到了Anaconda
  • 实现了PyCharm同步云服务器,实现本地编辑自动同步至云服务器,并且本地运行python程序时使用云服务器来跑代码(从而不需要消耗本地电脑资源)
  • 或是不用PyCharm编辑,而是手动运行云服务器的python文件,挂载后台运行输出文本等
  • 开发环境

    云服务器:腾讯云(香港节点):1核1G 25G CentOS 7.6.1810 x86_64

    Anaconda版本:Anaconda3-4.3.1-Linux-x86_64 

    Anaconda对应python版本:3.6.0

    PyCharm版本:2021.1.2 专业版(注意:社区版本无法实现ssh连接服务器,所以无法实现主要内容2操作)

    ssh工具:Xshell 5

    服务器管理面板:宝塔面板(可有可无,主要更方便)

    具体步骤

    这里默认大家都具有一个完善可用的云服务器,不对服务器的搭建和基本配置做教程。

    1.在服务器上安装Anaconda

    使用Xshell或者其他终端模拟软件进行ssh连接服务器,不做具体教程。

    ①下载安装

    • 可以先在PC端下载指定的Anaconda-Linux包
    • 再拖入上传至服务器,再在Anaconda包所在目录使用以下命令安装(注意:使用你下载的包名)

    若安装包没有执行权限,包名是白色的。先给它权限:

     

    chmod u+x Anaconda3-4.3.1-Linux-x86_64.sh

    再执行安装命令 

    sh Anaconda3-4.3.1-Linux-x86_64.sh

    或者

    ./Anaconda3-4.3.1-Linux-x86_64.sh

    (如果出现错误:tar (child): bzip2: Cannot exec: No such file or directory;解决方法:yum -y install bzip2)

    •  或者直接使用wget命令进行下载
    • 以下是我安装的目录:

    •  输入python进行测试是否安装完成。出现如下即为成功安装。(如果不成功,记得重启下终端连接)

    如果没有出现Anaconda,或者 conda命令不能使用,需进行以下环境配置。

    vim ~/.bashrc

     在配置文件下方空白处添加以下内容:

    #为了避免与其他服务器用户产生命令冲突,使用自己的英文名+Python替代python alias namePython='/root/anaconda3/bin/python' #这里写anaconda的安装路径 export PATH="/root/anaconda3/bin:$PATH"source ~/.bashrc

     再次验证

    conda --version

     conda命令可以使用。

    ②配置

    创建虚拟环境

    conda create -n py36 python=3.6

     (拓展知识:conda环境迁移)

    如果需要在具有 相同操作系统 的计算机之间复制环境,则可以生成 spec list。

    conda list --explicit > spec-list.txt

     在新机子重现环境

    conda create --name py36 --file spec-list.txt

    查看当前存在哪些虚拟环境

    conda env list

    激活虚拟环境

    source activate your_env_name

    查看安装了哪些包

    conda list
    • 初始的包较少,现在需要安装一些常用的包,比如numpy,pandas,networkx,igraph,matplotlib等
    • 安装可以用conda或pip命令,若环境自带的pip版本过低需要对pip进行升级。(pip install --upgrade pip)
    • 在我首次搭建时,matplotlib和pandas使用pip安装,出现了报错,如下图,应该说的就是版本问题,查了一大圈都没找到原因,后来在学长的提点下,我又把anaconda重新创建了个虚拟环境,使用conda命令来安装matplotlib、pandas、numpy这几个包,但networkx、igraph还是需要pip来安装的,networkx我用conda安装报错了。

    (conda和pip下载的包的版本是不一样的,如果各位出现我这种报错,就试试另一种安装方法。)

    pip版本不足,需要升级,可先临时使用清华镜像,临时升级:

    python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip --trusted-host pypi.tuna.tsinghua.edu.cn

    conda:matplotlib、pandas、numpy

     pip:networkx、python_igraph、numba、scipy

    conda install package_name(包名)pip install package_name(包名)

     其他命令

    conda update conda: 检查更新当前conda conda search XXX 搜索包,查看可安装版本 conda remove -n py36 --all 删除环境 conda deactivate 退出虚拟环境,conda4之前版本:source deactivate pip install --upgrade <包的名字> 更新包 pip install python_igraph (import igraph包)

    2.配置PyCharm

    完成服务器的anaconda配置,云服务器已经具备了运行python程序的能力。现在我们为了能让我们在PC端编辑的PyCharm代码能够实时同步云端,进行一些配置。

    ①打开PyCharm,添加解释器

    • 一种是在右下角点击会出现python解释器,点击添加解释器

    • 另一种是点击setting(设置);再找到python解释器;再点击那个小齿轮;再点击添加。

    • 打开后如下图,点击SSH解释器(社区版PyCharm应该没有这个,需要专业版)

    • 输入服务器主机地址和用户名,点击下一步

    •  设置服务器上的解释器路径,定位到你刚刚在anaconda创建的虚拟环境,找到python
    • (/root/anaconda3/envs/yunpy36(你的虚拟环境名)/bin/python)

    •  在设置本地路径(本地项目路径) 和 服务器python存放位置。后面会把改目录下的python项目自动上传至服务器实现同步。
    • 再点击完成,即设置成功。

     ②同步文件

    •  只需要点击整个文件夹或者单个目录,再点击工具,找到部署,点击上传,即可实现将本地项目上传至服务器。可以勾选自动上传。

    • 服务器同步的目录如下图 

     

     ③测试

    •  我们写一个test,进行测试(记得同步)
    import math import random a = random.randint(2,5) b = math.pow(a,2) fo = open("test1.txt","w") fo.write(str(b)) fo.close() print("Finish!")

     

    •  PyCharm输出,发现有ssh://root@XXX等字样,表示我们是在服务器运行的代码。
    • 并且本地PyCharm也有打印输出,让我们再去服务器看看输出的文件“test1.txt”,而本地没有该文件。

     那么整个PyCharm同步云服务器编程配置完成啦!!!

    3.在服务器上运行python程序并且挂载后台实现跑实验

    需求:我们不想通过PyCharm来运行服务器上的python,想让服务器后台挂载python程序,让它自己去连夜跑实验(压榨劳动力)那么就与我的PC一点关系都没有啦,打打游戏看看剧,不担心PC死机闪退等烦恼。

    ①SSH连接服务器

    • 这里我还是用Xshell 5,省略连接步骤

    ②进入刚刚在anaconda创建的虚拟环境

    source activate your_env_name

    ③使用nohup命令后台运行python程序

    nohup python3 -u my.py >> my.log 2>&1 &
    • nohup命令的解读可以参考这篇
    • 但需要一提的是 -u,若没有-u,nohup输出的my.log文件是在整个python运行结束后才会输出运行结果。而这样不便于我们所示查看python程序运行状态,加了-u后便实现了实时输出。

     ④查看进程状态

    • 在使用nohup启动python时,会生成一个进程ID
    • 可以使用 jobs -l 来查看当前终端的全部进程(改命令只适用于改终端窗口,若再开一个窗口需适用ps命令查看全局进程,如下命令)

    •  还可以对改python程序进行暂停、恢复、杀死等操作
    jobs -l (当前终端查看全部进程) ps -aux|grep 进程号 (全局各个新终端查看指定进程) ps -ef (全局全部进程) kill -STOP 进程号 (命令可以直接暂停一个后台任务) kill -CONT 进程号 (命令可以直接恢复一个后台任务) kill -9 进程号 (杀死进程)
      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/22538.html

      分享给朋友:

      “云服务器跑matlab 云服务器跑程序” 的相关文章

      中国电信CN2网络接入方式解析

      在数字化浪潮席卷全球的今天,网络质量已成为企业生存与发展的关键因素。中国电信作为国内领先的通信运营商,其旗下的CN2网络凭借卓越的性能和覆盖范围,成为众多企业和个人的首选。中国电信CN2网络的接入方式多种多样,您是否清楚每种方式的特点及适用场景?本文将为您逐一解析,帮助您找到最适合的解决方案。中国电...

      cn2排列公式怎么展开?原来排列组合还可以这么学!

      排列组合作为数学中一个重要的分支,在日常生活和实际问题中都有着广泛的应用。无论是计算概率、解决实际问题,还是在统计学中分析数据,排列组合都是不可或缺的工具。而在排列组合的核心公式中,C(n,2)是一个非常基础但又极其重要的公式。C(n,2)排列公式到底怎么展开?它背后又有哪些深层次的数学原理呢?让我...

      如何以便宜价格注册com域名并降低续费成本

      在互联网的世界中,com域名是最为人熟知和广泛使用的顶级域名之一。当我第一次接触域名注册时,com域名吸引我的是它的简单性和易记性。每当有人提到网站地址,往往就是以.com结尾的,这使得它成为许多企业和个人建立在线存在的主流选择。 com域名的意义不仅仅在于一个简单的名称。它代表了商业形象、品牌价值...

      Host Winds:可再生能源的关键因素与未来发展潜力

      什么是 Host Winds? 在谈论可再生能源时,Host Winds 是一个不容忽视的概念。简单来说,Host Winds 指的就是那些发生在某一特定区域内的风速和风向。这些风的模式能够极大地影响一个地区的风力发电潜力。想象一下,如果你在一个风速稳定且方向一致的地区,那么利用这些风来发电就会更加...

      搬瓦工机场优惠:享受稳定快速网络服务的最佳选择

      在了解搬瓦工机场之前,我认为确实有必要先对这个服务进行全面的认识。搬瓦工机场(Just My Socks)是由加拿大著名VPS服务提供商搬瓦工(BandwagonHost)于2018年推出的一项机场服务。这个项目的目标是为用户提供更为便捷、快速的网络连接方式,尤其是在某些地区的网络受限时显得尤为重要...

      BBR脚本:提升Linux服务器网络性能的最佳选择

      BBR的基本概念 在近年来的网络技术发展中,BBR脚本不可不提。作为Google提出的拥塞控制算法,它带来了显著的性能提升。我常常会把BBR比作一位聪明的交通指挥官,它通过实时监测网络的瓶颈带宽和往返时间,像调节交通流量一样动态调整数据传输速率。这使得使用BBR的Linux服务器能够在面对不同网络条...