linux 安装Python3及部署工程后台运行和查看日志

        

1、一先更新系统,一般使用yum更新,手动做不完的

yum update -y

yum -y install wget

gcc编译环境
yum -y install gcc

缺少openssl-devel包
yum -y install openssl-devel

当编译安装的python导入types模块出错时,一般是编译安装python之前没有安装libffi-devel
这里需要安装libffi-devel,重新编译安装python。执行命令如下:
yum install libffi-devel -y    ----需要换成默认的python,否则会yum报错
cd Python-3.7.5/
make clean && make && make install

安装依赖环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel


创建目录
mkdir -p /usr/local/python3.9

下载Python3.9.0
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz

第三步:解压下载后的文件

tar zxvf Python-3.9.0.tgz

进入解压后的目录,编译安装

./configure --prefix=/usr/local/python3.9


编译:make
编译成功后,编译安装:make install
**注:**第四步和第五步也可以组合一下make && make install短路写法只有编译成功之后才会进行后边的编译安装,前边失败后边是不会执行的。

环境变量配置

vi /etc/profile

在最下边输入

export PYTHON_HOME=/usr/local/python3.9
export PATH=${PYTHON_HOME}/bin:$PATH

使得配置的环境变量立即生效:
source /etc/profile

方法2,权限更高一些
vim ~/.bashrc
source ~/.bashrc

查看最近30条操作记录
history |tail -30  


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

问题3:如何设置环境变量,直接输入python3就可以进入python3版本

解决方法:

echo "export PATH=$PATH:/usr/local/python3/bin/" >> /etc/profile.d/python3.sh

export PATH=$PATH:/usr/local/python3/bin/


问题4:如果装了ipython,如何在python2,python3都可以使用ipyhon

解决方法:

先使用pip2 -V 和 pip3 -V 确认对应的python版本正确

之后

pip2 install ipython 安装python2的

pip3 install ipython 安装python3的


部署工程及运行
===============================================
启动服务
[root@reportweb data]# nohup python3 test.py &
简单介绍一下nohup 命令

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ] [ & ]

描述:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。nohup 执行 默认会自动生成一个 nohup.out 记录文件。


3.4、停止服务
前台启动的服务,直接 ctrl + c 停止服务,或者退出终端,服务就会停止。

后台启动的服务,用命令查看pid,然后 kill -9 pid 杀死任务。


[root@reportweb]# ps -ef|grep python
root      9233  2598 95 16:22 pts/0    00:00:16 python3 test.py
root      9244  2598  0 16:22 pts/0    00:00:00 grep python
[root@reportweb]# kill -9 9233
[root@reportweb]# ps -ef|grep python
[root@reportweb]# ps -ef|grep python
root      9257  2598  0 16:23 pts/0    00:00:00 grep python
[1]+  已杀死               nohup python3 test.py

3.5、查看python执行的日志
查看前10行命令:
[root@reportweb]# head -n 10 nohup.out

查看后10行命令:
[root@reportweb]# tail -n 10 nohup.out

显示文件 nohup.log 的内容,从第 20 行至文件末尾:
[root@reportweb]# tail +20 nohup.out

要跟踪名为 nohup.log 的文件的增长情况,请输入以下命令:
[root@reportweb]# tail -f nohup.out
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

命令格式:
tail [参数] [文件]
参数:

-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python日志模块是标准库中的一个模块,可以用来记录应用程序的日志信息。封装Python日志可以方便地统一管理应用程序的日志信息,使得应用程序的开发和维护更加容易。 以下是一个简单的Python日志封装的例子: ```python import logging class Logger(object): def __init__(self, logger_name): self.logger = logging.getLogger(logger_name) self.logger.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) console_handler.setFormatter(formatter) self.logger.addHandler(console_handler) def info(self, msg): self.logger.info(msg) def error(self, msg): self.logger.error(msg) def warning(self, msg): self.logger.warning(msg) def debug(self, msg): self.logger.debug(msg) ``` 上面的代码定义了一个Logger类,该类封装了Python的logging模块。在类的构造函数中,我们设置了日志的级别为INFO,并且添加了一个控制台输出的处理器。在类的方法中,我们分别封装了info、error、warning和debug级别的日志输出。在应用程序中,我们可以通过该类来统一管理应用程序的日志信息,例如: ```python logger = Logger('my_logger') logger.info('This is an info message.') logger.error('This is an error message.') logger.warning('This is a warning message.') logger.debug('This is a debug message.') ``` 通过上述代码,我们可以在控制台中看到相应级别的日志信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值