操作系统RedhatLinux,自带python2.6。Python程序的运行其实相当简单,只需在操作系统中安装并配置好python环境即可,和运行java需要配置jre一样(哪里简单,真简单就不会有下面这么多事了)。
1.直接运行*.py程序
提示导入错误:ImportError: No module named cx_Oracl
2.查看*.py程序代码
引用了cx_Oracle和h5py
python安装模块可以使用pip,使用pip安装就需要联网,由于主机是内网,在联系管理员开通外网后配置DNS
3.配置DNS
进入/etc/sysconfig/network-scripts目录
一般网卡默认名称为ifcfg-eth0,这个网名名称比较特殊ifcfg-eno16780032,不知道是不是因为虚拟机的关系
打开并编辑文件ifcfg-eno16780032设置DNS1
查看DNS是否设置成功,cat /etc/resolv.conf
重启网络服务使设置生效service network restart
Ping外网,连接成功
4.安装pip
下载pip最新版https://pypi.python.org/pypi/pip
下载之后的包上传到服务器上,解压 tar -zxvf pip*****
解压之后进入到文件夹,执行命令python setup.py install 安装
安装完之后执行 pip -V 如果能看到版本号,代表安装成功
5.pip的安装并非一帆风顺,Pip安装过程中提示ImportError: No module named setuptools 解决方案
下载setuptools,wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install
6.Pip安装完成即可安装所需模块h5py
查看h5py,提示python2.6过时了,建议升级python2.7
7.python2.6升级python2.7
首先下载源tar包
#wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
下载完成后到下载目录下,解压
#tar -zxvf Python-2.7.3.tgz
进入解压缩后的文件夹
#cd Python-2.7.3
在编译前先在/usr/local建一个文件夹python2.7(作为python的安装路径,以免覆盖老的版本)
#mkdir /usr/local/python2.7
在解压缩后的目录下编译安装
#./configure --prefix=/usr/local/python27
#make
#make install
此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
mv /usr/bin/python /usr/bin/python_old
再建立新版本python的链接
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python
这个时候输入#python就会显示出python的新版本信息,升级成功
8.重新安装pip
9.Pip安装h5py,安装cx_Oracle一切正常
10.继续执行pythen程序*.py
提示缺少library.so文件
按照官方文件进行安装
https://oracle.github.io/odpi/doc/installation.html#linux
做完以上一切Python程序运行正常
在刚连上网的时候误将yum命令删除执行了rpm -e yum,彻底无法执行依赖安装于是各种百度redhat安装yum,最终没有找到一个能安装成功的最后想起系统是虚拟机,镜像可能还在光驱中,于是有了以下操作:
redhat linux安装yum命令
挂载ISO镜像
新建一个目录:
#mkdir /mnt/cdrom
将ISO文件挂载到该目录上
#mount /dev/cdrom /mnt/cdrom
挂载完毕进入cdrom
源码都在,进入Packages同时安装所有yum文件即可
Yum命令成功运行!
over!!!