centOS6.5中部署java调用h2o中python包环境
- 升级centOS6.5中的python版本
6.5版本中自带了python2.6.6的环境,但对于使用h2o版本过低,建议升级至3.6或以上,升级方式:
- 1下载python3.6.3
wget https://www.Python.org/ftp/python/3.6.3/Python-3.6.3.tgz,已下载存放路径
如果想下载其他版本只需改版本号即可
2. 解压Python
tar zxvf Python-3.6.3.tgz
将其移动到用户文件夹
mv Python-3.6.3 ~/softwares/Python-3.6.3
3. 进入Python文件夹,创建安装目录
cd ~/softwares/Python-3.6.3
mkdir /usr/local/python3.6.3
4. 配置Python安装位置
./configure --prefix=/usr/local/python3.6.3
假如需要C编译环境,安装gcc(离线安装,切记不要使用—force强制安装,会导致系统内核修改、造成不可修复的后果)
5. 编译Python
make
6. 安装Python
make install
编译过程中有出现”zipimport.ZipImportError: can’t decompress data; zlib not available”错误提示,是由于缺少包导致的,解决方法是安装需要的包:
yum install zlib zlib-devel -y
7. 备份原有python命令执行文件
mv /usr/bin/python /usr/bin/pythonbak
8. 创建新的Python软连接
ln -s /usr/local/python3.6.3/bin/python3.6 /usr/bin/python
注意路径一定要写对,若/usr/bin/python存在,将其删掉再执行上面命令
rm –rf ./软链接名称
rm -rf ./软链接名称/ (这样就会把软链接以及软链接指向下的内容删除)
- 查看Python版本
python
打印的版本信息为3.6.3则表示安装成功
10. 修改yum配置文件,防止yum不可用
vi /usr/bin/yum
把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.6保存退出即可。
二、 离线安装编译h2o使用的python包
Linux下离线安装python项目的依赖包
第一步新建一个site-packages文件夹,把python项目有需要的依赖包名称导出到site-packages下的requirements.txt中(建议在虚拟环境下用,正常环境会把所有安装的包都写入文档)
$ pip3 freeze > requirements.txt(已下载)
报错pip3 not found 建立一个软连接
第二步下载python项目需要的所有的依赖包
pip3 download -r requirements.txt
第三步,把site-packages文件夹复制到离线的机器上。
(1)如果python已经放入环境变量中了(即任何位置输入python都可以调用),直接进入site-packages文件夹运行第四步的命令即可。
(2)如果没有配置,然后找到Linux安装的python3的目录,把site-packages文件下的requirements.tx
放入/usr/python-3.6.4/bin(python3的目录)。
第四步,cd /usr/python-3.6.4/bin,然后执行命令:
pip3 install --no-index --find-links=~/python/site-packages -r requirements.txt
到此系统就会自动安装项目需要的依赖包
三、 编译H2O请参照《使用python来训练java实现的算法模型》文档。调用是否成功请使用pys.py进行测试。