今天需要在生产环境部署两个程序,都是解析API数据的,依赖python3,所以记录下部署过程.
* 第一步是查看系统环境信息
cat /etc/redhat-release
cat /proc/version
-
系统是centos 7.5,并不会影响python3的安装
平常自己用Linux都使用vim,这个系统没有,挺干净的,所以装一个编辑器
yum install -y vim
还会编辑下hosts映射供程序使用
vim /etc/hosts
* 第二步是查看自带python信息
python -V
which python
-
查看了下python版本,2.7.5,又看了下命令位置,可以看出这是系统自带的python
* 第三步是安装python3及所需模块
- 本程序在python3.6.6之下编写的,所以服务器最好与自己使用的版本保持一致
- 我这次部署生产服务器,所以选择了源码编译(本机使用的pyenv)
#安装依赖包
yum -y groupinstall "Development tools" # 感觉这个开发包很全面(和下面的会有些重复,不过没事)
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 && yum -y install wget # 但是还得安装这些依赖
-
源码编译python3.6.6
# 创建安装包目录 mkdir -p /root/Downloads/python_install && cd /root/Downloads/python_install # 下载 wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz #解压源码包 tar -zxvf Python-3.6.6.tgz #创建安装目录 mkdir /usr/local/python3 cd Python-3.6.6/ #安装到指定目录 ./configure --prefix=/usr/local/python3 # 编译 make && make install # 漫长的等待……
-
成功后创建软连接即可全局使用python3了
cd /usr/local/python3 ln -s /usr/local/python3/bin/python3 /usr/local/bin//python3 ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
-
安装模块
# 常用模块 pip3 install numpy openpyxl pandas xlrd yarl aiohttp asyncio requests # 大数据相关模块 pip3 install hdfs PyHive sasl pip3 install thrift 0.11.0 pip3 install thrift-sasl 0.3.0 # 这些是某些sasl模块安装失败需要的系统包,没报错可以不装 yum install -y libevent-devel libffi-devel python-devel gcc-c++ cyrus-sasl-devel cyrus-sasl-plain
* 第四步是测试程序运行
没问题
* 第五步是查看程序log情况
没问题