跑实验换了几次服务器了,每次遇到相似问题都要重新百度,而且每次百度搜索出的顺序都不一样,又得重新找半天,这次把遇到的问题都总结一下。

1.准备

PuTTY和FileZilla

FileZilla使用FTP传输时,实验室的服务器可能是出于安全考虑,没有开放21端口;想到ssh可以登录,就换SFTP来传输文件(22端口)。

也可以用scp rz sz等等,但我觉得在windows上使用FileZilla的图形界面拖拽就很方便。

2.安装

2.1 Linux软件安装

首先了解下Linux下软件的安装,参考Linux下软件安装的几种方式

2.2 Anaconda

实验室服务器之前已经装了各种版本的python,大家都是各用各的,在自己的目录下使用anaconda,我也不敢随便改/etc/profile(也没权限= =),就也在自己目录下装个anaconda吧。。

安装python我还是第一次用anaconda(之前一直都是pip管理),

配置环境变量的配置我只改了我这个用户的,也就是~/.profile,注意把 ~/anaconda/bin放到$PATH前,因为bash中执行python命令时会按PATH中的顺序进行搜索。

我的配置:

#umask 022#ifrunning bashif [ -n "$BASH_VERSION" ]; then# include .bashrcifit existsif [ -f "$HOME/.bashrc" ]; then."$HOME/.bashrc"

fi

fi# set PATH so it includes user's private bin if it exists

if [ -d "$HOME/bin" ] ; thenPATH="$HOME/bin:$PATH"

fi# ADD_PATH="$(pwd)"export PATH="$HOME/anaconda3/bin:$PATH"# export PATH="${ADD_PATH}:${PATH}"export GUROBI_HOME="$HOME/tars/gurobi811/linux64"export PATH="${PATH}:${GUROBI_HOME}/bin"export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"export GRB_LICENCE_FILE="$HOME/gurobi.lic"

安装完后自己理解了下anaconda对python packages的管理

(base) tandaojun1@node32:~$ python3

Python3.7.3 (default, Mar 27 2019, 22:11:17)

[GCC7.3.0] :: Anaconda, Inc. on linux

Type"help", "copyright", "credits" or "license" for moreinformation.>>>import sys>>>print(sys.path)

['', '/home/tandaojun1/anaconda3/lib/python37.zip', '/home/tandaojun1/anaconda3/lib/python3.7', '/home/tandaojun1/anaconda3/lib/python3.7/lib-dynload', '/home/tandaojun1/anaconda3/lib/python3.7/site-packages']

所以,之后用conda install tensorflow下载的第三方包应该是会装到/home/tandaojun1/anaconda3/lib/python3.7/site-packages目录下

bash前面的(base)是conda的虚拟环境,conda activate base进入的是默认虚拟环境,base换成自己的环境,前面就当前环境的环境名。

另外,conda的虚拟环境执行bash确实有点延迟,,

2.3 Gurobi

这个是我的程序需要的一个求解器,第三方包,conda没有,需要自己安装

首先求解器的安装是从官网wget下载tar.gz文件,然后tar -vxfz gurobi811.tar.gz解压,目前只是得到了求解器

在~/.profile中添加gurobi相关的环境变量(PATH和LD_LIBRARY_PATH),然后grbgetkey获取licence,再在~/.profile中添加GRB_LICENCE_FILE环境变量

目前求解器可以求解了,但python还没有安装packages,进入到~/gurobi811/linux64/路径下

python setup.py install

可以自己看下setup.py代码是怎么写的,以后也会用到。

3.安装测试

其实上面已经测试了= =,不过可以再记下确认用的是哪个版本(哪个路径下的sh)的python (也可以用type python)

(base) tandaojun1@node32:~$ whichpython/home/tandaojun1/anaconda3/bin/python

要查看系统中有哪些python:

(base) tandaojun1@node32:~$ whereispython

python:/usr/bin/python3.4 /usr/bin/python3.4m-config /usr/bin/python3.4-config /usr/bin/python3.4m /usr/bin/python2.7 /usr/bin/python2.7-config /usr/bin/python /etc/python3.4 /etc/python2.7 /etc/python /usr/lib/python3.4 /usr/lib/python2.7 /usr/bin/X11/python3.4 /usr/bin/X11/python3.4m-config /usr/bin/X11/python3.4-config /usr/bin/X11/python3.4m /usr/bin/X11/python2.7 /usr/bin/X11/python2.7-config /usr/bin/X11/python /usr/local/lib/python3.4 /usr/local/lib/python2.7 /usr/include/python3.4 /usr/include/python3.4m /usr/include/python2.7 /usr/share/python /usr/share/man/man1/python.1.gz

4.运行

4.1 命令行python脚本传参

首先了解下命令行中怎么在执行python文件时传入参数,可以参考 命令行运行Python脚本时传入参数的三种方式

4.2 python import model

其次是理解下python的import机制,因为windows下pycharm会帮你把sys.path(上面演示的)等给你预置好了,直接执行就可以,但在命令行中执行会遇到ModuleNotFoundError。

我看的关于Python的import机制原理,主要是知道python从哪import models。

明白了这个,接下来就是怎么让python找到自己写的models。

使用绝对路径显然不适用于经常换平台执行,但使用相对路径得确保要执行的文件与项目根目录之间的相对关系不变,我这代码还在测试阶段,可能会经常变动= =,所以想在命令行直接将项目根目录添加到python找models的列表中。

一开始以为是PATH变量,尝试将项目目录添加到PATH变量中,发现还是会报错,之后百度了才知道,,,是PYTHONPATH

可以在~/.profile中添加(记得 source ~/.profile),也可以命令行执行(每次重新开启终端都要执行)

export PYTHONPATH=~/projects/vnf_flow:$PYTHONPATH

4.3 后台运行

由于我要跑多个实验,每个实验都要输出一些结果,所以需要进程后台运行,

screen就很不错,可以参考Linux后台运行任务

python可以在linux运行_服务器(Linux)上运行python总结相关推荐

  1. git 上传项目到linux仓库_总结:上传python项目至git上前的一些准备工作

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,,版权归原作者所有,如有问题请及时联系我们以作处理 作者:changyixue 来源:CSDN 本文链接:https://blog. ...

  2. python按照日期筛选数据_日期时间范围上的Python筛选器?

    我有一些包含开始时间和结束时间的数据(datetime格式),我想根据更受限制的日期范围计算持续时间(以小时为单位).但到目前为止,我还没有成功.(对python还是个业余爱好者.) 示例:John ...

  3. python可以在linux运行_在linux运行python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! linux下编译安装python3与python2共存linux下默认系统自带p ...

  4. mysql linux 监控工具_细说linux服务器各种监控工具

    linux下面有很多强大的监控工具,各有各的优点,作为一个linux系统管理员,有必要知道这些命令的用法,结合自己的经验,写了点介绍,如对不足的地方,还请批评指正! yum install sysst ...

  5. 查看当前系统运行的服务器,linux 查看当前运行的所有服务器

    linux 查看当前运行的所有服务器 内容精选 换一换 内存是GaussDB(DWS)运行的一个关键资源,如果能够有效利用,可以提升业务查询性能.而资源池是GaussDB(DWS)管理系统资源的集合, ...

  6. linux显示 cron 服务是否正在运行_通过Linux系统自带日志监控系统安全

    引 言 如今绝大多数网络监控运维服务系统都是基于Linux操作系统开发的,作为一款网络安全检测防护设备,其本身的安全防护也是需要关注的重要环节之一.而几乎所有需要分析的信息均来源于各种日志,日志对于安 ...

  7. qemu 规范路径_在 QEMU 上运行 RISC-V 64 位版本的 Linux

    前言 参考[参考 1]网页版 "Running 64- and 32-bit RISC-V Linux on QEMU"Running 64- and 32-bit RISC-V ...

  8. .sh文件怎么运行_监控Linux文件或目录的变化工具之watchman

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在Linux系统上使用watchman ...

  9. linux多线程_免费Linux下载工具,你还不知道?

    今天小编要跟大家分享的文章是关于Linux运维人员应该知道的免费Linux下载工具.Windows用户在想要使用下载管理器时可以享受很多选择.如Download Accelerator Plus和Re ...

最新文章

  1. JAVA 多用户商城系统b2b2c-kafka处理超大消息
  2. Visitor 访问者模式
  3. 五笔常用字、难拆字 拆解图文版
  4. 多stream_基础之Lambda和Stream的邂逅
  5. 与你同行,才能无障碍
  6. spring boot中打包插件spring-boot-maven-plugin和maven-jar-plugin的关联
  7. 英语c开头语言,字母c开头的英语短语
  8. Advanced Threat Analytics 2016
  9. 吴功宜计算机网络教程ppt,计算机网络 吴功宜 编著ppt课件.ppt
  10. 启动sqlserver服务时,总是出现“系统错误(126),指定驱动程序无法加载
  11. FlashPaper的安装以及基本使用
  12. 计算机二级考风考纪主题班会,计算机二级C语言上机题库及答案(100套).doc
  13. http报错405问题解决方法
  14. 如何关闭移动硬盘的自动休眠功能
  15. YoutubeAPI使用
  16. Qt官方示例:Fridge Magnets Example(冰箱贴)
  17. 【金猿产品展】亚信科技“数据探索分析平台”——深挖数据价值,助客户高效管理和经营生产...
  18. O-1 4GB+的ISO镜像刻录
  19. 电脑计算机管理声音,教你如何解决电脑声音不正常
  20. origin自定义函数

热门文章

  1. 新疆缺少计算机网络技术吗,新疆阿克苏职业技术学院的计算机网络技术专业好不?...
  2. greenplum gpfdist应用
  3. CentOS x64 安装gcc
  4. benchmark问题_使用U盘来掩盖CEPH IO性能低下的问题
  5. 1070. 结绳(25)
  6. php 生成器作用,php 生成器的理解和使用
  7. @ResponseBody注解學習
  8. 习题2-3 求平方与倒数序列的部分和
  9. 13 python初学(函数)
  10. PHP 递归删除目录中文件