完美解决 Linux服务器上如何跑代码以及如何导入自定义的python包
一、问题描述
最近在阿里云买了一个服务器,于是就想着试试看能不能把自己本地上的代码放到服务器上去运行,这样既可以不消耗自己的cpu,还可以跑代码,一举两得。那么在实现的过程中就遇到了些问题,发现自定义的包,linux服务器无法识别,于是,写下此博客,记录一下自己的解决方式
二、操作过程
-
如何将自己的代码放到服务器上面
因为我的电脑是mac的(windows可以使Xshell),所以我选择上传到服务器文件的应用软件是FileZilla.界面如下
打开应用程序,输入你服务器的地址,你的用户名,密码,端口号,点击快速连接即可,如果连接不上,可能需要看看端口号是否打开等。这样把文件上传到服务器上之后,就准备好了跑代码的前奏 -
如何在服务器上导入自定义的包(即解决"no module named …"的问题)
这个时候就可以用vscode(也可以用pycharm)打开你上传到你服务器的文件。这里跑python代码的环境创建、以及如何在vscode上连接服务器等操作就不多阐述了,可以自行搜索解决.
打开代码之后,图示如下
注意:这里要留意自己的包里面要含有__init__.py文件,同时包文件的绝对路径无需再写包的名称,写到图中所示即可,也要注意文件路径的写法,不要写错了,注意比对 -
效果展示
至此,代码就可以跑起来了,展示如下
问题解决,这里供大家参考,导入包的方式还有其他方式,比较繁琐,大家可以csdn一下,参考其他解决方式
visualsoul: vscode
放火烧山。: 定义这个函数具体有什么作用呢?
m0_74780152: 谢谢姐姐,非常简洁明了有用!评论区的去掉插入日期也是!修改好后重启zotero就可以了!
taxiyo: 所以pair[1]就是元组的第二个参数,相当于以此为特征值通过ascii排序,key=lambda pair: pair[1]所以是传给key的,true和false是reverse的参数选项,如果reverse代表着是否反转,也就是正序或逆序,sort(key=None, reverse=False)代表着默认值,如果不给参数(pairs.sort()),没有排序依据,默认正序,也就是正常输出;如果逆序你就需要在sort里再带一个参数pairs.sort(reverse=True)
taxiyo: sort属于内置函数用于整理,你help(pairs.sort)就能看到,key参数的作用就是通过一个给定的函数,用于应用在每个列表元素然后以此整理它们,所以key =pair:pair[1]就是遍历pairs的每一个元素让他执行pair[1]并以此排序;打个比方这里的pair就是pairs的每一个元素(即元组,例如(1,‘one’));pair[1]就是元组的第二个元素(即元组的第二个元素,例如‘one’, 'two')