背景:前段时间帮学长跑实验,在电脑上挂着得跑15个小时左右。白天跑,半夜跑,跑了5、6次,一次因为电脑死机,一次因为PyCharm闪退。跑了那么久全白费,想想就气。而且在本地跑实验十分占用CPU等资源,耗电又有风险。想着自己还有个服务器,这2天就捣鼓了下怎么在服务器上跑实验。总结下步骤,避免大家采坑。
本文将讲解如果利用现有的云服务器来跑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
服务器管理面板:宝塔面板(可有可无,主要更方便)
这里默认大家都具有一个完善可用的云服务器,不对服务器的搭建和基本配置做教程。
使用Xshell或者其他终端模拟软件进行ssh连接服务器,不做具体教程。
若安装包没有执行权限,包名是白色的。先给它权限:
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)
如果没有出现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 env list
激活虚拟环境
source activate your_env_name
查看安装了哪些包
conda list
(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包)
完成服务器的anaconda配置,云服务器已经具备了运行python程序的能力。现在我们为了能让我们在PC端编辑的PyCharm代码能够实时同步云端,进行一些配置。
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同步云服务器编程配置完成啦!!!
需求:我们不想通过PyCharm来运行服务器上的python,想让服务器后台挂载python程序,让它自己去连夜跑实验(压榨劳动力)那么就与我的PC一点关系都没有啦,打打游戏看看剧,不担心PC死机闪退等烦恼。
source activate your_env_name
nohup python3 -u my.py >> my.log 2>&1 &
jobs -l (当前终端查看全部进程)
ps -aux|grep 进程号 (全局各个新终端查看指定进程)
ps -ef (全局全部进程)
kill -STOP 进程号 (命令可以直接暂停一个后台任务)
kill -CONT 进程号 (命令可以直接恢复一个后台任务)
kill -9 进程号 (杀死进程)
好了,以上是这次的全部教程内容。
如果对你有帮助的话,可以大方的来个三连,算了,一个赞就行啦,嘻嘻
有问题欢迎留言……
⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐