1. 程式人生 > >python機器學習模塊安裝

python機器學習模塊安裝

red hat 鏡像 備註 bzip2 zip tar 例如 rar cto

環境:RHEL6.5 離線安裝 說明:在安裝dlib時依賴的基礎 環境較多,先升級gcc,以適應c++ 11的使用;需要用到cmake編譯工具,boost這個c++庫,BLAS。python升級到2.7以上版本。 ############################################################################ 一,本地yum源搭建 1)掛載系統鏡像文件 :
  • mkdir /media/cdrom #新建鏡像文件掛載目錄
  • cd #進入系統鏡像文件存放目錄
  • ls #列出目錄文件,可以看到剛剛上傳的系統鏡像文件
  1. mount -t iso9660 -o loop /usr/local/src/rhel-server-7.0-x86_64-dvd.iso /media/cdrom #掛載系統鏡像
  2. cd /media/cdrom #進入掛載目錄,使用ls命令可以看到已經有文件存在了

備註:umount /media/cdrom #卸載系統鏡像

2)設置開機自動掛載系統鏡像文件
  1. vi /etc/fstab #添加以下代碼。實現開機自動掛載
  2. /usr/local/src/rhel-server-7.0-x86_64-dvd.iso /media/cdrom iso9660 defaults,ro,loop 0 0
  3. :wq! #保存退出

3)配置本地yum源

cd /etc/yum.repos.d/ #進入yum配置目錄 touch rhel-media.repo #建立yum配置文件 vi rhel-media.repo #編輯配置文件,添加以下內容 [rhel-media] name=Red Hat Enterprise Linux 7.0 #自定義名稱 baseurl=file:///media/cdrom #本地光盤掛載路徑 enabled=1 #啟用yum源,0為不啟用,1為啟用 gpgcheck=1 #檢查GPG-KEY,0為不檢查,1為檢查 gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release #GPG-KEY路徑

4)使用yum命令自動安裝軟件

1,yum clean all #清除yum緩存

yum makecache #緩存本地yum源中的軟件包信息

2,yum update

3,yum install httpd #安裝apache

安裝部分依賴:

sudo yum install -y gcc-c++ gcc sudo yum install -y yum install gcc-gfortran

sudo yum install boost
sudo yum install boost-devel

sudo yum install libX11-devel

sudo yum install openssl-devel

######################################################################

二,升級gcc 4.9.3 參考: http://blog.csdn.net/xiexievv/article/details/50620170

1,下載 http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.9.3/gcc-4.9.3.tar.bz2

tar xjvf gcc-4.9.3.tar.bz2 cd gcc-4.9.3 ./contrib/download_prerequisites

  • 安裝gcc需要5個組件,download_prerequisites 的任務就是下載這些組件分別是:
cloog-0.18.1
gmp-4.3.2
isl-0.12.2
mpc-0.8.1
mpfr-2.4.2
  • 如果遇到download_prerequisites裏面的地址無法訪問
    推薦自行下載這些組件到目錄gcc-4.9.3/,解壓。
    然後將download_prerequisites裏面的wget全部註釋掉,再執行 :
./contrib/download_prerequisites
  • 做好上面的準備就可以configure了,建議另建一個目錄來存放編譯文件,默認安裝目錄是 /usr/local/ 可以使用 –prefix 修改自定義路徑。
cd ..
mkdir gcc-4.9.3-build-temp
cd gcc-4.9.3-build-temp
../gcc-4.9.3/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j 4
make install
  • 編譯過程中報莫名其妙的錯誤,嘗試使用root用戶或者root權限編譯

  • 編譯過程很慢,一切順利的話,取決於你的配置40分鐘-1個小時後再來看結果吧

  • 在.bashrc中配置庫文件和頭文件路徑

    export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64/:$LD_LIBRARY_PATH
    export C_INCLUDE_PATH=/usr/local/include/:$C_INCLUDE_PATH
    export CPLUS_INCLUDE_PATH=/usr/local/include/:$CPLUS_INCLUDE_PATH
  • 執行 gcc -v 可以看到下面的信息
  • gcc -v
    使用內建 specs。
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper
    目標:x86_64-unknown-linux-gnu
    配置為:../gcc-4.9.3/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
    線程模型:posix
    gcc 版本 4.9.3 (GCC) 
  • ################################################################

  • 三,升級python到2.7

  • 1,下載 https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
  • 2,上傳,解壓sudo tar -zxvf Python-2.7.8.tgz 3,安裝:cd Python-2.7.8 ; (1)sudo mkdir /usr/local/python27; (2)sudo yum install zlib-devel openssl-devel
    (3)sudo ./configure --prefix=/usr/local/python27 --enable-shared CFLAGS=-fPIC (sudo env PYTHON_CONFIGURE_OPTS="--enable-shared" ./configure --prefix=/usr/local/python27) (4)sudo make 若出以下錯誤,參考下面解決辦法 ******************************************************************** http://blog.csdn.net/huanle0610/article/details/41174943 技術分享 sudo yum install -y readline-devel
    sudo yum install -y sqlite-devel sudo yum install -y bzip2-devel sudo yum install -y openssl-devel sudo yum install -y gdbm-devel sudo yum install -y libdbi-devel sudo yum install -y ncurses-libs sudo yum install -y zlib-devel ************************************************************************ (5)sudo make install (6)sudo mv /usr/bin/python /usr/bin/python_old (7)sudo ln -s /usr/local/python27/bin/python2.7 /usr/bin/python (8)python #終端下測試 若報錯: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No su 參考:http://blog.csdn.net/wanyanxgf/article/details/8021641 [[email protected] bin]$ python Python 2.7.8 (default, Jul 13 2017, 00:40:06) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> exit() 此時已經可以正常使用python2.7了,但是因為yum是使用的2.6的版本來用的,現在輸入一下yum就會報錯

    vim /usr/bin/yum

    將 #!/usr/bin/python

    改為#!/usr/bin/python2.6

###################################################################
  • 四,升級gdb

  • 在python升級後在執行下面的:

  • 升級完gcc還需要升級gdb!!! 因為版本不匹配等原因導致調試的時候 print變量提示找不到符號,以及其他莫名其妙的問題…

  • 這裏我選擇安裝的時候gdb-7.9 ,安裝gdb需要4個組件 ,python,python-devel ,texinfo,ncurses-devel

  • 編譯gdb時報錯誤 configure: error: no termcap library found 是缺少 ncurses-devel
  • 編譯過程中遇到莫名奇妙的報錯,例如:ser-unix.c:118:1: error: conflicting types for ‘get_tty_state’,清理幹凈configure目錄,使用root用戶安裝就好了
sudo yum install texinfo
sudo yum install ncurses-devel
####sudo yum install python
sudoyum install python-devel
wget http://mirrors.ustc.edu.cn/gnu/gdb/gdb-7.9.tar.gz
tar xzvf gdb-7.9.tar.gz
cd gdb-7.9
./configure --with-python
make
make install
  • 如果在安裝過程中提示找不到makeinfo命令或其他錯誤,切換root用戶再試一次

  • 沒有python的支持也可以編譯去掉–with-python選項就行了,但是gdb是無法加載python腳本的,例如c++ 的 pretty-printer 腳本是無法使用的

######################################################################

五,boost安裝可跳過第三步,用第四步) 參考:http://www.cnblogs.com/findumars/p/6253092.html

1、下載並解壓boost 1.58 源代碼

可以去boost的官網下載http://jaist.dl.sourceforge.net/project/boost/boost/1.58.0/boost_1_58_0.tar.bz2

解壓 tar -xjf boost_1_58_0.tar.bz2

2、運行bootstrap.sh

bootstrap.sh是用來檢查安裝環境的,如果報錯了,看一下是缺少了什麽,安裝一下即可(g++)。

./bootstrap.sh --with-libraries=python

運行完成之後會在當前目錄生成一些文件,用於下一步安裝。

3、使用b2進行構建

b2是上一步成功後生成的,使用它來進行構建boost庫。

sudo ./b2

這裏也可能遇到錯誤,比如沒有bzlib.h這個頭文件的。

cc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.9.2/release/link-static/threading-multi/bzip2.o
libs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: 沒有那個文件或目錄
 #include "bzlib.h"  // Julian Seward‘s "bzip.h" header.                                                    ^
compilation terminated.

解決辦法也是很簡單的,執行下面的語句

sudo yum install zlib-devel  openssl-devel

構建成功的提示

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    /home/o/Boost庫/boost_1_58_0

The following directory should be added to linker library paths:

    /home/o/Boost庫/boost_1_58_0/stage/lib

上面兩句的意思是提示你編譯使用了boost庫的代碼的時候指定的include目錄和lib目錄位置。

4、安裝boost庫到指定目錄

第三步驟只是說了構建的情況,其實這已經可以用了。如果想安裝boost庫到指定目錄,比如說usr/local目錄,可以使用下面的命令來進行。

sudo ./b2 --prefix=/usr/local/boost install

安裝以後編譯代碼的時候還是要指定目錄,可以將它添加到環境變量CPLUS_INCLUDE_PATHLIBRARY_PATH中去。

export CPLUS_INCLUDE_PATH=/usr/local/boost/include
export LIBRARY_PATH=/usr/local/boost/lib

這只是臨時的,樂意的可以寫入/etc/profile文件中。

-- **************************************************************

-- To compile Boost.Python yourself download boost from boost.org and then go into the boost root folder

-- and run these commands:

-- ./bootstrap.sh --with-libraries=python

-- sudo ./b2 --prefix=/usr/local/boost install

-- ***************************************************************

5、測試一下

先寫一個簡單的獲取當前日期的小程序

代碼

#include <boost/date_time/gregorian/gregorian.hpp> 
#include <iostream> 
int main() 
{ 
    boost::gregorian::date d(boost::gregorian::day_clock::local_day());
    std::cout << d.year() << d.month() <<d.day() << std::endl; 
}

編譯運行

g++ -I /usr/local/boost/include -L /usr/local/boost/lib boost.cpp -o boost

 ./boost 

2015Jul9
若測試報錯,請查看 http://blog.csdn.net/abcd1f2/article/details/49777715

##################################################################

六,安裝cmake

下載 https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz ,上傳 解壓:ta -zxvf cmake-3.7.2.tar.gz ; cd cmake-3.7.2; 1) ./bootstrap 2) gmake 3) sudo gmake install 4)[[email protected] bin]$ sudo ln -s /usr/local/bin/cmake /usr/bin/cmake [[email protected] bin]$ sudo ln -s /usr/local/bin/cpack /usr/bin/cpack [[email protected] bin]$ sudo ln -s /usr/local/bin/ctest /usr/bin/ctest ######################################################################### 七,安裝 BLAS (1)下載 http://www.openblas.net/ (2)解壓:tar -zxvf OpenBLAS-0.2.19.tar.gz ; cd OpenBLAS-0.2.19; (3)添加 #define NO_AVX2 1024 到 cpuid.h 文件的倒數第2行 (4)sudo make 若報一下錯誤,參考下面解決辦法 *************************************************************************** 技術分享 技術分享 sudo ln -s /usr/lib64/libgfortran.so.3.0.0 /usr/lib64/libgfortran.so http://blog.csdn.net/yasi_xi/article/details/8658191 **************************************************************************** (5)sudo make install ###########################################################

八,安裝python的包管理工具

1、安裝pip前需要前置安裝setuptools

unzip setuptools-36.0.1.zip cd setuptools-36.0.1 sudo python setup.py build sudo python setup.py install

報錯: RuntimeError: Compression requires the (missing) zlib module

我們需要在linux中安裝zlib-devel包,進行支持。

yum install zlib-devel

需要對python2.7進行重新編譯安裝。
cd Python-2.7.8 sudo make sudo make install 重新安裝setuptools
sudo python setup.py build sudo python setup.py install

2、安裝pip

tar -zxvf pip-9.0.1.tar.gz cd pip-9.0.1

sudo python setup.py build

sudo python setup.py install

如果沒有意外的話,pip安裝完成。 建立軟連接 ln -s /usr/local/python27/bin/pip /usr/bin/pip ln -s /usr/local/python27/bin/pip2 /usr/bin/pip2 ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip2.7 ln -s /usr/local/python27/bin/easy_install /usr/bin/easy_install ln -s /usr/local/python27/bin/easy_install-2.7 /usr/bin/easy_install-2.7

正式安裝python模塊

############################################################ 安裝dlib https://pypi.python.org/pypi/dlib dlib-19.4.0.tar.gz sudo pip install dlib-19.4.0.tar.gz OK (sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)) ********************************************************************* 測試:導入模塊 技術分享

解決:

技術分享 找到 libopenblas.so.0所在路徑:/opt/OpenBLAS/lib sudo vi /etc/ld.so.conf 添加一行/opt/OpenBLAS/lib sudo /sbin/ldconfig -v ******************************************************************** ############################################################ 安裝numpy https://pypi.python.org/pypi/numpy sudo pip install numpy-1.13.1-cp27-cp27m-manylinux1_x86_64.whl ############################################################ 安裝scipy https://pypi.python.org/pypi/scipy sudo pip install scipy-0.19.1-cp27-cp27m-manylinux1_x86_64.whl ############################################################ 安裝matplotlib https://pypi.python.org/pypi/matplotlib sudo pip install matplotlib-2.0.2-cp27-cp27m-manylinux1_x86_64.whl(因缺少依賴,先安裝依賴,可根據報錯信息查找依賴,下載包,安裝) 如:依賴cycler>=0.10 下載地址https://pypi.python.org/pypi/XXX(xxx為缺少的組件) https://pypi.python.org/pypi/cycler sudo pip install cycler-0.10.0-py2.py3-none-any.whl https://pypi.python.org/pypi/six sudo pip install six-1.10.0-py2.py3-none-any.whl https://pypi.python.org/pypi/pyparsing sudo pip install pyparsing-2.2.0-py2.py3-none-any.whl https://pypi.python.org/pypi/subprocess32 sudo pip install subprocess32-3.2.7.tar.gz
https://pypi.python.org/pypi/functools32 sudo pip install functools32-3.2.3-2.tar.gz https://pypi.python.org/pypi/python-dateutil sudo pip install python_dateutil-2.6.1-py2.py3-none-any.whl
https://pypi.python.org/pypi/pytz sudo pip install pytz-2017.2-py2.py3-none-any.whl

############################################################# 安裝skimage https://pypi.python.org/pypi/scikit-image sudo pip install scikit_image-0.13.0-cp27-cp27m-manylinux1_x86_64.whl(因缺少依賴,先安裝依賴,可根據報錯信息查找依賴,下載包,安裝) https://pypi.python.org/pypi/PyWavelets sudo pip install PyWavelets-0.5.2-cp27-cp27m-manylinux1_x86_64.whl
https://pypi.python.org/pypi/PyYAML sudo pip install PyYAML-3.12.tar.gz https://pypi.python.org/pypi/networkx sudo pip install networkx-1.11-py2.py3-none-any.whl https://pypi.python.org/pypi/decorator sudo pip install decorator-4.0.11-py2.py3-none-any.whl https://pypi.python.org/pypi/pillow sudo pip install Pillow-4.2.1-cp27-cp27m-manylinux1_x86_64.whl
https://pypi.python.org/pypi/olefile sudo pip install olefile-0.44.zip ############################################################
安裝imtools sudo pip install imtools-0.1.11.tar.gz https://pypi.python.org/pypi/imtools ############################################################### 全部完成: 技術分享 技術分享 ############################################################### 可能優化:

1、CUDA安裝
官方下載:https://developer.nvidia.com/cuda-downloads

sudo rpm -i cuda-repo-rhel7-8.0.44-1.x86_64.rpm
sudo yum clean all
sudo yum install cuda
sudo rpm -ihv libvdpau-0.9-1.el6.x86_64.rpm sudo rpm -ihv dkms-2.1.1.2-1.el6.rf.noarch.rpm --nodeps

2、cuDNN安裝

官網下載:https://developer.nvidia.com/rdp/cudnn-download

然後把lib文件加入到系統能找到的lib文件夾裏, 把頭文件加到系統能找到的include文件夾裏就可以。這裏把他們加到CUDA的文件夾下。

tar -zxf cudnn-7.5-linux-x64-v5.0-ga.tgz
cd cuda
sudo cp -P lib64/* /usr/local/cuda/lib64/
sudo cp -P include/* /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
#########################################################

python機器學習模塊安裝