配置基於centos下的遠程Jupyter Notebook訪問


最近在學習一些服務器上的操作,學着熟悉Liunx系統,記錄下自己踩過的坑吧

1、開機后更新系統:

  yum -y upgrade
  yum - y update

2、查看已安裝的應用

  yum list

3、接下來因為要用到anaconda+Python環境,配置下:

  1.首先,你要知道系統現在的python的位置在哪兒:

[root@root ~]# whereis python
python: /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
可以知道我們的python在 /usr/bin目錄中
[root@root ~]# cd /usr/bin/
[root@root bin]# ll python*
lrwxrwxrwx. 1 root root 7 2月 7 09:30 python -> python2
lrwxrwxrwx. 1 root root 9 2月 7 09:30 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 8月 4 2017 python2.7

 可以看到,python指向的是python2,python2指向的是python2.7,因此我們可以裝個python3,然后將python指向python3,然后python2指向python2.7,那么兩個版本的python就能共存了。

2.因為我們要安裝python3,所以要先安裝相關包,用於下載編譯python3:

  yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make 
  #運行了以上命令以后,就安裝了編譯python3所用到的相關依賴

3.默認的,centos7也沒有安裝pip。

#運行這個命令添加epel擴展源
yum -y install epel-release
#安裝pip
yum install python-pip

4.用pip裝wget

pip install wget

5.用wget下載python3的源碼包

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz

6.編譯python3源碼包

#解壓
xz -d Python-3.6.4.tar.xz
tar -xf Python-3.6.4.tar
#進入解壓后的目錄,依次執行下面命令進行手動編譯
cd Python-3.6.4
./configure prefix=/usr/local/python3
make && make install
# 如果出現can't decompress data; zlib not available這個錯誤,則需要安裝相關庫
#安裝依賴zlib、zlib-devel
yum install zlib zlib
yum install zlib zlib-devel

如果最后沒提示出錯,就代表正確安裝了,在/usr/local/目錄下就會有python3目錄

7.添加軟鏈接

#將原來的鏈接備份
mv /usr/bin/python /usr/bin/python.bak
#添加python3的軟鏈接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
#測試是否安裝成功了
python -V

8.更改yum配置,因為其要用到python2才能執行,否則會導致yum不能正常使用

vi /usr/bin/yum
把#! /usr/bin/python修改為#! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改為#! /usr/bin/python2

4、在Linux下刪除文件用rm命令,具體用法如下:

rm [選項] 文件
選項說明:

-f    -force      忽略不存在的文件,強制刪除,無任何提示

-i    --interactive    進行交互式地刪除

-r | -R  --recursive     遞歸式地刪除列出的目錄下的所有目錄和文件

-v      --verbose    詳細顯示進行的步驟

命令實例:

1、常規刪除a.txt文件
[root]# rm a.txt
2、強行刪除file.log文件
[root]# rm -f file.log
3、刪除dirname目錄下的所有東西
[root]# rm -ivrf dirname

5、在Centos下安裝Anaconda

  下載:wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh

  安裝:bash Anaconda3-5.3.1-Linux-x86_64.sh

  接下來會自動安裝至:/root/anaconda/

  注:若沒有將地址添加到PATH中可用:

  export PATH=/root/anaconda3/bin:$PATH
測試anaconda已經安裝好:conda -V

   創建專門的運行環境

    conda create -n tensorflow

   啟動Tensorflow運行環境

source activate tensorflow
#關閉運行環境
#source deactivate tensorflow
#添加清華大學 TUNA提供的Anaconda倉庫鏡像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
conda install numpy #測試是否添加成功
#搜索可用版本
anaconda search -t conda tensorflow
#選擇一個較新的CPU或GPU版本,如jjh_cio_testing/tensorflow的1.0.1版本,輸入如下命令查詢安裝命令
anaconda show jjh_cio_testing/tensorflow
#使用最后一行的提示命令進行安裝
conda install --channel https://conda.anaconda.org/jjh_cio_testing tensorflow
#conda會自動檢測安裝此版本的Tensorflow所依賴的庫,如果你的Anaconda缺少這些依賴庫,會提示你安裝。

  測試:

   import tensorflow as tf 
  hello = tf.constant('Hello, TensorFlow!') 
  sess = tf.Session() 
  print(sess.run(hello))    

6、服務器端安裝好Anaconda后就要進行遠程訪問了,此時我使用的是windows系統,之前一直使用Xshell的方式進行服務器配置環節。

  服務器端啟動Jupyter Notebook: 

檢查本地是否安裝成功並生成配置文件
jupyter notebook –generate-config –allow-root
生成遠程訪問密碼
#利用ipython生成密碼
[root@localhost ~]# ipython
Python 3.6.2 |Anaconda, Inc.| (default, Sep 30 2017, 18:42:57)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: '*******'
修改配置文件
vi /root/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip='*'
c.NotebookApp.password = u'*******'將上述生成的密碼復制到這里
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
測試遠程訪問
遠程連接服務器后,終端輸入Jupyter notebook 打開服務。在瀏覽器中輸入<serverip>:8888,測試是否訪問成功,訪問不成功需將服務器防火牆關閉:
systemctl stop firewalld.service

7、當需要使用服務時:

  (1) 在服務端輸入 shell 指令:

jupyter notebook --ip=0.0.0.0 --no-browser --port=1111

將會創建一個沒有瀏覽器的notebook,ip這里指定為0.0.0.0(比較隨意,不會和其他用戶產生沖突),端口號為xxxx,一般端口選擇1024-49151中任一即可,如1111,為避免與其他服務端口沖突,建議自己另設置一個端口號。本文以端口號 1111 為例。

(2)在Windows上打開git的 bash 終端(或者PowerShell也可),輸入:

ssh -N -f -L localhost:1112:localhost:1111 username@serverIP

第一個localhost填入xxxx+1,第一個localhost填入xxxx,username為服務器端的用戶名,serverIP填入服務器ip。

執行命令后需要輸入服務器用戶名密碼,輸出完成后沒有其他顯示,保持bash終端不要關閉。

(3)在個人電腦上打開瀏覽器,輸入http://localhost:xxxx+1 即可

8、配置tensorflow時遇到兩個小問題:

  (1).遇到了ERROR: Cannot uninstall 'wrapt'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

    辦法1:輸入 pip install -U --ignore-installed wrapt enum34 simplejson netaddr

    參考:https://www.cnblogs.com/xiaowei2092/p/11025155.html

  (2)遇到了ERROR: tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you'll have setuptools 39.1.0 which is incompatible.

    原因: setuptools 版本太低

    辦法:更新setuptools版本 輸入 pip install --upgrade setuptools


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM