為了安裝anaconda科學計算環境,控制好python版本,今天上午總算折騰好了。
學習python有時希望在python2.7環境下,有時希望在python3.4環境下,該怎麼辦呢?
anconda的包也不知道适合在什麼環境下工作?
解決多python環境下,python版本切換的工具--pyenv應運而生。同時,另外一個工具virtualenv則提供了一種功能, 就是将一個目錄建立為一個虛拟的python環境, 這樣的話, 使用者可以建立多個虛拟環境, 每個環境裡面的python版本可以是不同的, 也可以是相同的, 而且環境之間互相獨立。
下面簡要介紹一下安裝的過程:
該指令将列出pyenv可以安裝的清單,單單列舉幾個咱們關心的python和anaconda把:
該指令會從github上下載下傳python的源代碼安裝,但是,我這裡主要是用來進行科學計算的環境安裝,是以,最後選擇安裝
anaconda-2.4.0(python2.7環境) 和 anaconda3-2.4.0(python3.4環境)。可以選擇都安裝,之後可以使用pyenv進行版本的切換。
注:
這裡利用pyenv指令安裝的python版本都安裝在~.pyenv/versions檔案夾下,當然,如果你從圖形界面進入ubuntu的使用者主目錄下可能看不見.pyenv檔案夾,這時候,你可以使用<code>ls -a</code>看到隐藏的檔案夾。
使用<code>pip</code>安裝的包完成之後,可能需要對資料庫進行更新:
檢視目前已經安裝了的python版本:
輸出結果如下:
system是指系統的python版本;*表示目前環境所處于的python版本
全局版本切換:
全局切換為anaconda科學計算環境,因為,我現在也不做其他python開發,是以,無需再安裝其他環境了。
檢視現在的python版本:
有全局版本切換,當然也會有局部環境的切換:
在test檔案夾下希望切換到python3.4.1:
雖然直接安裝pip安裝virtualenv也行,但是通過pyenv插件的形式安裝virtualenv的虛拟環境更加友善,因為之後的操作會比較友善。
pyenv virtualenv是pyenv的插件,為unix系統上的python virtualenvs提供pyenv virtualenv指令。
這個插件将安裝在主檔案夾下的.pyenv檔案夾中。
再需要建立虛拟環境的檔案夾下建立虛拟環境。
這條指令在本機上建立了一個名為env271的python虛拟環境,這個環境的真實目錄位于:~/.pyenv/versions/
注意,指令中的 ‘2.7.1’ 必須是一個安裝前面步驟已經安裝好的python版本, 否則會出錯。
然後我們可以繼續通過 ‘pyenv versions’ 指令來檢視目前的虛拟環境。
這樣就能切換為這個版本的虛拟環境。通過輸入<code>python</code>檢視現在版本,可以發現處于虛拟環境下了。
下面基本上你就可以在這個虛拟環境裡面為所欲為了 :) 再也不用擔心系統路徑被搞亂的問題了
如果要切換回系統環境, 運作這個指令即可
那如果要删除這個虛拟環境呢? 答案簡單而且粗暴,隻要直接删除它所在的目錄就好:
或者解除安裝:
使用<code>conda list</code>指令的環境時python版本切換到anaconda版本下,不然,這個指令無法來查詢。
看上面清單就能知道,anaconda的環境下,也是能使用系統<code>pip</code>指令安裝的包的!
這個通過virtualenv可以做到。anaconda也正是通過其實作的。下面用conda建立一個名叫python2的版本為python2.7的環境。
這樣就會在anaconda安裝目錄下的envs目錄下建立python2這個目錄。
向其中安裝擴充可以:
直接用conda install并用-n指明安裝到的環境,這裡自然就是python2。
像virtualenv那樣,先activate,然後在虛拟環境中安裝。
關于<code>virtualenv</code>的使用,還需了解,可以參考python生态
下面的操作,貌似會安裝很多包,謹慎使用。
可以選擇安裝anaconda 不同的版本,然後按照下面操作,切換版本。windows/linux下都有pycharm。
打開pycharm,打開preference --> project --> project interpreter-->
首先當然是安裝你需要的兩個不同版本的python,我安裝的是2.7和3.4的,兩個版本安裝順序無所謂,但是後面安裝的會變成預設的(因為我是後安裝的python 3.4,它就變成了預設的python)。
然後去python27 檔案夾下面把python.exe改名python2.exe,然後就可以在指令行下通過python或者py來調用3.x,python2來調用2.x。
另外pip的話直接使用 pip2 或者 pip3 就可以了。
還是通過pip安裝virutalenv。
安裝完之後,運作下面的指令,為你的項目建立孤立的python環境。
那麼這行代碼都做了些什麼呢?你建立了一個名叫my_project_venv的檔案夾,用于存儲新的python環境。--distribute參數告訴virtualenv使用基于distribute包開發的新的、更好的打包系統,而不是基于setuptools的舊系統。你現在隻需要知道,--distribute參數将會自動在虛拟環境中安裝pip,免去了手動安裝的麻煩。随着你的python程式設計經驗和知識增加,你會慢慢明白這個過程的具體細節。
通過下面的指令,激活虛拟環境:
使用source指令啟動activate腳本之後,你的指令行提示符應該會變成這樣:
虛拟環境的名稱會添加在$提示符的前面。
現在運作下面的指令,關閉虛拟環境:
當你在系統層面安裝virtualenv時(如果激活了虛拟環境,請先關閉),可以運作下面的指令幫助自己了解。
首先,我們來看看如果我們在終端輸入python或者pip,系統會使用哪個執行檔案。
<a href="http://seisman.info/python-pyenv.html">python多版本共存之pyenv</a>
<a href="https://github.com/yyuu/pyenv#installation">yyuu/pyenv-github</a>
<a href="http://www.cnblogs.com/npumenglei/p/3719412.html">用pyenv 和 virtualenv 搭建單機多版本python 虛拟開發環境</a>
<a href="https://github.com/lixm/pybooklet/blob/master/install.md">lixm/pybooklet-github</a>
<a href="http://huangziwei.com/tech/setting-up-scientific-python-environment-in-os-x-10-10-using-miniconda/">使用 pyenv 和 miniconda 管理 python 科學計算環境</a>
<a href="http://zhangnew.com/2015-06-09-python-2-3-exist.html">python 2.x 3.x 多版本共存</a>
<a href="http://codingpy.com/article/python-ecosystem-introduction/">一篇文章入門python生态系統</a>
<a href="http://www.tiny-coder.com/home-article-51.html">用pyenv和virtualenv搭建python虛拟環境</a>
<a href="https://www.continuum.io/downloads">download anaconda now</a>
<a href="http://www.cnblogs.com/super-d2/p/4725818.html">python科學計算發行版—anaconda</a>