1. 程式人生 > >Ubuntu下MATLAB安裝 + Jpyter notebook + 一些小問題的解決

Ubuntu下MATLAB安裝 + Jpyter notebook + 一些小問題的解決

1.MATLAB的安裝

ubuntu14.04 自帶的 gcc 版本是 4.8,MATLAB2014a支援的最高版本為4.7x。因此,需要安裝gcc4.7,並給gcc降級!

首先,在終端執行gcc 4.7的安裝命令:

sudo apt-get update
sudo apt-get install gcc-4.7 g++-4.7 g++-4.7-multilib gcc-4.7-multilib

然後,在終端執行以下系統gcc降級命令(其中數字越大,表示優先順序越高):

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g
++-4.7 100 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 100 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.7 100 sudo update-alternatives
--install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.8 50

最後,驗證gcc-4.7是否安裝併成為系統的預設版本:

gcc -v 

2.安裝MATLAB

Windows下安裝Matlab,直接雙擊安裝檔案即可。但是,在Ubuntu中安裝Matlab時,是在命令列中安裝的。具體而言,在命令列中,切換到Matlab安裝包路徑下,執行 sudo ./install,就會跳出安裝會話框,Ubuntu安裝Matlab需要在圖形介面中操作。如上所言,執行sudo ./install之後,會跳出圖形對話方塊,如果是在純粹的命令列上,應該無法進行。(跳出安裝對話方塊之後就和windows安裝一樣,可以百度windows下的安裝方法,需要輸入啟用碼)

3.在命令列中啟動MATLAB

出現問題:
在ubuntu 14.04上安裝好maltab R2014b之後,進入資料夾:

cd /usr/local/MATLAB/R2014/bin

沒有發現matlab可執行檔案,可是在檔案管理器中又能搜尋到matlab檔案,是在其子目錄glnxa64下。但進入子目錄後,在終端輸入命令,依然提示 matlab command not found。 在檔案管理器中明明能看到可執行檔案,雙擊開啟後,出現matlab圖示一閃而過。

解決方法:

一定要先進入root,獲取主使用者許可權。

sudo su
cd /usr/local/bin/
sudo ln -s /usr/local/MATLAB/R2011b/bin/matlab matlab

(此時啟動時會讓你啟用matlab,選擇無網路啟用,選擇啟用碼即可)
以後再啟動matlab時,只要在終端輸入matlab就行了。

切記:

1) 圖形安裝對話方塊結束之後,Matlab並沒有安裝完成!!!
這時嘗試開啟Matlab會報錯。通過在命令列中執行matlab,可以看到返回的錯誤資訊是沒啟用
但是,你可能疑惑,為什麼呢?最後啟用步驟,明明匯入了證書檔案(*.lic)?!

替換libmwservices.so庫檔案~~~

替換需要在命令列中操作,還需要root許可權(超級使用者)。因為需要將libmwservices.so複製到/usr/local/Matlab/R2014b/*目錄下,該目錄屬於root使用者,所以需要在命令列中是,使用cp(或mv)命令完成。

替換libmwservices.so之後就可以成功執行Matlab了。

sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/

GCC和G++版本問題,前面的操作實現了GCC和G++的降級,但是並沒有更改任何的關於Matlab檔案。Matalb要使用GCC4.7和G++4.7,還需要做一些工作——重新連線 libstdc++.so.6檔案。(我的電腦這個連結沒有試驗成功,但是最後也裝好了,所以這個試一下就行了)

# 拷貝檔案
sudo  cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 (接下行,加個空格)/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.20
# libstdc++.so.6.0.20的版本,可能因為系統不同而不同,使用最新的就可以了。Ubuntu14.04的最新版本是libstdc++.so.6.0.19(我的電腦是Ubuntu14.04的,用的就是6.0.19的)。

# 切換路徑
cd /usr/local/MATLAB/R2014a/sys/os/glnxa64/

# 修改許可權
chmod 555 libstdc++.so.6.0.20

#(僅僅是備份,可以不操作)。
sudo mv libstdc++.so.6 libstdc++.so.6.backup 

# 重新連結
ln  -s libstdc++.so.6.0.20 libstdc++.so.6 (如果提示命令錯誤檢查一下-s 的“-”有沒有輸錯!)

# 使配置生效
sudo ldconfig -v

檢查Matlab是否安裝成功。在命令列中輸入matlab,回車。如果開啟Matalb,說明安裝成功。如果沒有開啟,將路徑切換到Matlab安裝路徑下的bin資料夾下,再次執行matlab,如果還沒有開啟,就說明沒有安裝成功。如果任何一次打開了,就說明安裝成功了。

2.Jupyter notebook 的安裝

經過了前面幾篇的步驟,我們已經能夠在python中使用帶GPU的Tensorflow 和 Caffe 還有 Torch,但是,我們只能夠在命令列使用,當所要程式設計的程式碼數量較大的時候,我們就需要使用一個更加人性化的互動式介面,那就是 —“jupyter”。

這裡寫圖片描述

Jupyter Notebook(此前被稱為 IPython notebook)是一個互動式筆記本,支援執行 40 多種程式語言。對於希望編寫漂亮的互動式文件的人來說是一個強大工具。

首先,安裝好Tensorflow!
然後,安裝Jupyter

$ sudo python2 -m pip install ipykernel
$ sudo python2 -m ipykernel install
$ sudo apt-get install build-essential 
$ sudo pip install jupyter

再然後,安裝matplotlib(用於使用python畫圖)

$ sudo apt-get build-dep python-matplotlib python-tk 

注意:

一定要確保python-matplotlib安裝成功了,如過不成功,在執行jupyter的時候會報錯:
ImportError: No module named matplotlib.pyplot ,如果安裝不成功就單獨多裝幾次~~~

$ sudo apt-get install python-matplotlib 

最後,在主資料夾的命令列下執行:

$ jupyter notebook

安裝完成之後試驗一下:

在Jupyter nootebook中用Python程式碼生成雜湊點圖,可以通過提示的網址在瀏覽器裡進入Jupyter nootebook。在右側可以建立notebook,在裡面可執行如下程式碼片段:


import tensorflow as tf
import numpy as np 
import matplotlib.pyplot as plt

a = tf.random_normal([2,20]) #定義2x20的隨機數矩陣 
sess = tf.Session()  #啟動一個tensorflow會話
sess = tf.Session()  #啟動一個tensorflow會話
x, y = out  

plt.scatter(x, y)    #用pyplot建立一系列雜湊點,座標為x和y
plt.show() 

程式碼片段,可直接在Jupyter中執行,結果就是一些點雜湊圖。

3.UBUNTU下載提示 :缺少依賴包或者無法下載 解決

在UBUNTU命令列裡面輸入 apt-get install 提示缺少依賴包或者無法下載的時候,可以更新下載的源,下載源的更新方法如下:

首先,備份源:

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 

然後開啟配置檔案,更新源:

$ sudo gedit /etc/apt/sources.list 

刪除原有的源,在編輯器中新增新源,有以下的源可供選擇:

新增的源有很多,可根據自己的情況選擇。

#163
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

#中科大
deb http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe

#sohu
deb http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse

#oschina
deb http://mirrors.oschina.net/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.oschina.net/ubuntu/ trusty-backports main restricted universe multiverse
deb http://mirrors.oschina.net/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.oschina.net/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.oschina.net/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty-updates main restricted universe multiverse

#北京交通大學
deb http://mirror.bjtu.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ trusty-updates main multiverse

# 北京理工
deb http://mirror.bjtu.edu.cn/ubuntu/ precise main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ precise-backports main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ precise-proposed main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ precise-security main multiverse restricted universe
deb http://mirror.bjtu.edu.cn/ubuntu/ precise-updates main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-backports main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-proposed main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-security main multiverse restricted universe
deb-src http://mirror.bjtu.edu.cn/ubuntu/ precise-updates main multiverse restricted universe
restricted universe

#上海交大
deb http://ftp.sjtu.edu.cn/ubuntu/ trusty universe restricted multiverse maindeb http://ftp.sjtu.edu.cn/ubuntu/ trusty-security universe restricted multiverse maindeb http://ftp.sjtu.edu.cn/ubuntu/ trusty-updates universe restricted multiverse maindeb http://ftp.sjtu.edu.cn/ubuntu/ trusty-proposed universe restricted multiverse maindeb http://ftp.sjtu.edu.cn/ubuntu/ trusty-backports universe restricted multiverse main

#阿里雲伺服器
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

新增完畢之後,執行:

$ sudo apt-get update