2015/10/8

Python 環境切換與管理[簡易版]

Python 環境切換與管理[簡易版]

Python 目前比較麻煩的是有 Python 2 / Python 3 的版本,然後 Mac 也有自帶的Python, 初學者往往在一開始時容易困擾…
例如:pip install 套件後,到底是安裝到那一個 python 環境呢? pip3 ?? pip ??

解決方式:

  • (1)使用 Pyenv 完全隔開不同的 Python
    • 例如:隔開之後再安裝不同版本的 Anacnoda(預設安裝很多的python套件)
    • 因為是完全分開的,所以依據你所使用的環境進行 pip install 套件安裝,不會與原先系統預設的python環境對衝
    • Anacnoda 官網介紹說 Anacnoda 已經具備有套件與環境管理機能,但依照我自己的使用經驗,建議還是先裝 pyenv 來把環境完全切割比較好…

  • (2)使用 Docker image
    • 例如:我目前使用這組 Docker image; https://hub.docker.com/r/jupyter/datascience-notebook/
    • 好處是已經有了 python 2、python 3、R 的Jupyter 
    • Python 套件安裝
      • 此 Docker 預設的Python環境是 Python3 ,所以如果是 pip install 套件,則會安裝套件至 Python3
    • 若要安裝 Python2套件呢?
      • 首先要知道 docker 中有多少python環境
      • conda env list → 可得知安裝 python2 的環境叫 python2
      • 選擇 python2 環境: source activate python2
      • 再次使用 conda env list 確認目前的環境
      • 使用 pip install 套件。例如: pip install beautifulsoup4
      • 安裝後新的套件後(安裝至 python2中),記得下 docker commit 指令把容器的狀態給存起來
  • 備註
    • 因為 docker 本來就是虛擬化工具,docker中發生了什麼事情對於主系統都不會有什麼影響,所以docker中就沒有必要再安裝 pyenv;當然這是用空間(SSD/HD)來換取煩雜的設定時間損失。

備註:

conda常用指令:
  • (1)目前作用中的環境安裝了多少python套件 conda list ;
也支援這樣的語法 conda list baut* ,則列出:
beautifulsoup4 4.4.1
  • (2)切換環境
source activate python2
  • (3)目前有那些python環境
conda evn list
參考資料: http://conda.pydata.org/docs/_downloads/conda-pip-virtualenv-translator.html

沒有留言:

張貼留言