折騰一上午,走了彎路,故總結一下。
----------------------------------------------以下是有問題的--------------最下面有正確方式------------------------------------------
jupyter有terminal,這個terminal其實就是linux環境,所以按照linux下python2.7升級python3操作就行。但愚蠢的我,找的參考文檔(更換Jupyter Notebook 內核Python版本)里沒有告訴我如何設置默認python執行版本,剛剛找到一篇舊博客(Linux 升級 Python 至 3.x)講到了如何設置默認python版本,感謝。以下是同時保留了兩個版本,并把默認版本設置為了3。
大概步驟簡記如下:
(1)下載python3(因為我是在公司內網升級,所以是下載到本地,再上傳服務器的):
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
(2)解壓縮:
tar -zxvf Python-3.7.0.tgz
(3)檢查編譯器執行環境(一般不需要檢查,jupyter的環境肯定是有的):
# cd Python-3.7.0
# sudo ./configure
(4)安裝:
# sudo make
# sudo make install
(5)驗證,python -V出來的就是默認版本:
# python -V
# python3 -V
(6)更換python3作為默認版本,首先通過如下命令可以看到jupyter執行的python依賴:
將原來 python 的軟鏈接重命名:
mv /usr/bin/python /usr/bin/python.bak
將 python 鏈接至 python3:
ln -s /usr/local/bin/python3 /usr/bin/python
這時,再執行python -V查看 Python 的版本就是3了:Python 3.7.4
不過這樣設置后在terminal執行python是使用的python3,但jupyter頁面顯示的new下面還是python2。這個的設置應該是在kernel.json里面,可以在根目錄查看一下這個文件的位置:
$sudo find . -name kernel.json
./usr/share/jupyter/kernels/python2/kernel.json
修改kernel.json:
{
"display_name": "Python 3",
"language": "python",
"argv": [
"python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
]
}
最后結果因為缺少No module named '_ctypes,所以失敗了。。。。
?
最開始缺少_ctypes,用下面的方式解決了:
- bzip2-devel(解決 import bz2 報錯)
- ncurses-devel(解決 import curses 報錯)
- sqlite-devel(解決 import sqlite3 報錯)
- gdbm-devel(解決 _dbm _gdbm 缺失)
- xz-devel(解決 _lzma 缺失)
- tk-devel(解決 _tkinter 缺失)
- readline-devel(解決 readline 缺失)
- libffi-devel(解決 _ctypes 缺失)
yum -y install bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel readline-devel libffi-devel
然后又報缺失_ssl,網上找到兩種解決辦法,第一種:
./configure --with-ssl
make
sudo make install
這種方式對我的環境來說不好使,第二種:
yum -y install openssl-devel
make
make install
最后發現這種下載包的方式就有問題,不適合jupyter。
-------------------------------------------以下是正解------------------------------------
還是在python2.7的jupyter /usr/bin 目錄下執行如下命令來安裝python3.6:
sudo yum install python36 python36-pip
sudo pip3 install jupyter
安裝后是這樣:
如果執行第一條語句遇到下面的錯誤:
那就把/etc/yum.repos.d/aliyun.repo刪除或者重命名就可以解決。
原則上執行完上面兩條語句,然后重啟jupyter就可以使用了,但我又遇到重啟不起來的問題,可能是缺少ssl?(我也不確定)執行了下面這條語句,就重啟起來了:
sudo yum -y install openssl
最后的效果是:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
