操作系統Redhat Linux,自帶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!!!