選擇了Anaconda下的conda工具作為python虛擬環境搭建的工具!
Python虛擬環境工具眾多,我也使用了眾多工具,最終還是選擇了Anaconda下的conda工具作為虛擬環境搭建的工具,在正式開始前,說一下我此前的環境。
當然在學習Python的道路上肯定會困難,沒有好的學習資料,怎麼去學習呢?
學習Python中有不明白推薦加入交流群
號:960410445
群裡有志同道合的小夥伴,互幫互助,
群裡有不錯的視訊學習教程和PDF!
系統環境:Mac Pro
使用pyenv作為python版本控制,下載了python2.7、python3.6、python3.5等版本,使用pyenv-virtualenv作為虛擬環境控制的外掛工具,兩者其實挺好用的,然後我使用pyenv安裝了anaconda 4.4.0並再其下使用conda來建立虛擬環境,就是所謂的虛擬環境中的虛擬環境。
因為某些原因,將系統當前的pyenv相關的虛擬環境都刪除了,決定使用anaconda重新弄一套虛擬環境,完全用conda來管理,不再弄那麼複雜。
首先去anaconda官網安裝,這裡選擇安裝anaconda 5.5.0,其內建python為python3.7,這個包的大小為600多M,解壓安裝後會佔用磁碟2.2G,我也沒想到居然這麼大,無奈。
安裝完後,就要配置一下環境變數,Mac下的環境變數比較複雜,環境變數由多個檔案控制,這些檔案的優先順序也不同,因為本人使用了zsh,所有處理在系統的環境變數配置檔案中配置anaconda的路徑,還需要在zsh的環境變數配置檔案中配置,這是必要的,不然zsh中也無法直接使用conda。
具體的路徑需要根據自己的路徑來確定。
因為本地不再使用Mac自帶的命令列,所以.bash_profile檔案不用寫也沒問題,只使用zsh,還有需要提及的就是 echo"conda activate">>~/.zshrc在conda 4.4之後支援,此前的將conda引入PATH的方法變得不再推薦。
這樣就可以全域性使用conda了,首先使用conda來建立一個虛擬環境
conda create -n tfpy36 python=3.6
建立完後,先來安裝一下TensorFlow,這裡安裝1.9版本的,當前最新版為1.12,不得不說TensorFlow更新的很快。
pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com --upgrade tensorflow==1.9
安裝完後,可以進入python互動環境測試是否可以匯入,通常沒什麼問題,然後我習慣性的安裝ipython與jupyter,帶來了問題。
ipython與jupyter都是在虛擬環境下安裝的,但進入ipython,發現是anaconda原本的python環境,即python3.7版本,此時無法通過ipython匯入虛擬環境中安裝的TensorFlow,有點懵,接著嘗試jupyter,也是同樣的情況,回想使用pyenv安裝anaconda再在改anaconda下建立虛擬環境並安裝TF不同,在此前的環境中虛擬環境中安裝的ipython會被安裝在虛擬環境中,可以直接匯入虛擬環境的TF。
這個問題應該不少見,所以查了一下,anaconda為了避免你在不同的虛擬環境都每次都要安裝ipython或jupyter,將這些都安裝在了根環境,安裝 ipykernel解決問題,這個庫會為ipython或jupyter提供虛擬環境殼的支援。
conda install ipykernel
至此,整個環境搞定,conda除了可以使用python3,同時還可以使用python2,非常方便。
但還有可能在ipython可以使用不同版本的虛擬環境,但在jupyter無法使用不同版本的虛擬環境,此時就可以安裝
conda install nb_conda
這樣就可以直接進入jupyter選擇不同的虛擬環境了,如下圖:
刪除環境
conda remove -n tfpy36 --all
啟用環境
source activate tfpy36
退出環境
source deactivate
小結
python中很多工具都可以進行版本控制與虛擬環境的控制,我使用個多種,但最總還是返璞歸真,使用anaconda提供的這套解決方案一勞永逸。
2018版的PyCharm本身也支援建立新專案時,在工作目錄建立相應的python環境,但我個人通常不這麼做,因為每個專案都建立一個python虛擬環境其實沒什麼必要,只需要幾個主的python虛擬環境則可,比如做web的,就建立pyweb虛擬環境,以後web相關的開發都使用該虛擬環境,這樣方便管理。