如何在使用Jupyter Notebook時,解決Python虛擬環(huán)境間的切換問題?本文一步步幫你拆解。希望你能夠避免踩坑的痛苦,把更多的時間花在愉快的編程上。
Python目前有兩個主版本并存,這很讓人苦惱。
一般人對于軟件,總是抱持著“喜新厭舊”的心態(tài)。見到小紅點兒,就忍不住升級。然而對Python來說,這條規(guī)律不大適用。
雖然Python 3有許多優(yōu)于Python 2的特性,但是Python 2的生態(tài)系統(tǒng)更為完善,支持的包更多。因為生態(tài)系統(tǒng)內部的依賴關系,許多軟件包的運行說明會直接指定“僅適用于Python 2.7版本”。
所以,你會在不同的應用場景下切換這兩種Python版本。
我本人比較懶,哪個版本支持的軟件包多,更適合我使用,我就用哪個。所以,我安裝Anaconda這個Python集成運行環(huán)境的時候,選擇的是2.7版本。
但是近幾天,我遇到了點兒麻煩。
為了進一步學習和掌握學Tensorflow,我買了本書。
這本書配套代碼的調試環(huán)境,是Jupyter Notebook,Python版本是3.6。
我自然不可能刪除掉原先安裝的Anaconda,重裝一個3.6版本。那樣我日常工作就無法進行了。
我選擇的方式,是安裝虛擬環(huán)境。
在虛擬環(huán)境里,各種軟件包的版本,都由你來指定。它們和系統(tǒng)默認Python環(huán)境是相互隔離的,因此互不干擾。
我給這個用于學習Python 3版本Tensorflow的虛擬環(huán)境起了個好記的名字,叫做tfpy3。
進入終端環(huán)境,使用Anaconda的環(huán)境創(chuàng)建命令,一行代碼就可以創(chuàng)建成功。
conda create -n tfpy3 python=3
我在~/learn/實驗目錄下創(chuàng)建了一個名為tensorflow的文件夾。創(chuàng)建好后進入。
cd learn/tensorflow
下面我們呼喚剛才創(chuàng)建的虛擬環(huán)境:
source activate tfpy3
這時你會發(fā)現終端提示符前面出現了特定虛擬環(huán)境標識。
虛擬環(huán)境順利加載。
在這個虛擬環(huán)境下,我們就可以安裝針對Python 3.6的最新版Tensorflow了。
pip install tensorflow
好了,1.3.0版本tensorflow安裝成功。下面我們就呼叫Jupyter Notebook,來編碼吧!
jupyter notebook
咦?為什么創(chuàng)建新筆記本的選項中,只有默認的Python 2和后來安裝過的R?
tfpy3虛擬環(huán)境哪里去了?根本找不到!
頭痛半晌,突然想起古人那句:
吾嘗終日而思矣,不如須臾之所學也。
對啊,上網搜!
查詢了一下,很快發(fā)現了解決方案。原來為了讓Jupyter Notebook支持虛擬運行環(huán)境,需要在Anaconda里安裝一個插件。
回到終端下面,用C-c退出目前正在運行的Jupyter Notebook Server,然后執(zhí)行:
conda install nb_conda
再重新開啟Jupyter Notebook:
jupyter notebook
這下我們就能看到差別了——除了最新安裝設定的tfpy3外,之前用Anaconda設置過的其他虛擬環(huán)境也都可以在此選擇使用。太棒了!
我們選擇剛剛創(chuàng)建的tfpy3環(huán)境。
執(zhí)行:
import tensorflow as tf tf.VERSION
第二行語句是反饋tensorflow的版本。
1.3.0,沒錯!這就是剛剛我們安裝的最新Tensorflow版本。
下面就是愉快的編碼時間了。加油!
你在使用Python的過程中,遇到過切換版本的問題嗎?你是怎么解決的?有沒有更為便捷的方法?你更喜歡Python 2還是3?為什么?歡迎留言,分享給大家,我們一起交流討論。
如果你對我的文章感興趣,歡迎點贊,并且微信關注和置頂我的公眾號“玉樹芝蘭”(nkwangshuyi)。
如果本文可能對你身邊的親友有幫助,也歡迎你把本文通過微博或朋友圈分享給他們。讓他們一起參與到我們的討論中來。