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