1. 程式人生 > >安裝配置Anaconda環境

安裝配置Anaconda環境

Anaconda是python的一個環境管理工具,剛準備開始接觸,先從安裝配置開始學。

下載安裝

先下載最新版本的Anaconda5.3.1:https://www.anaconda.com/download
這個版本包含了python3.7版本,而我電腦上已經有了python3.6版本,不知道到時怎麼切換,先安裝了再慢慢琢磨。
安裝過程不說了,在安裝時讓我選擇是否將其新增進環境變數path裡,提示是不建議新增因為會干擾其他軟體,可以在安裝完成後通過Anaconda Navigator或Anaconda Prompt執行。
安裝完成後執行Anaconda Navigator,介面如下:
在這裡插入圖片描述

關於vscode及python版本的切換

在Navigator裡發現還可以安裝vscode,而我電腦裡已經安裝過了vscode,不知道如果安裝了它裡面的vscode會不會衝突,手癢點選了install,沒任何提示自動開始下載安裝,也沒有取消按鈕,有點緊張生怕以前的vscode配置會丟失。等安裝完成後點選lanch執行裡面的vscode,然後我在程序管理器檢視執行的vscode檔案所在位置,原來就是我以前那個vscode,但提示有的vscode外掛不存在。在vscode終端檢視python版本是3.7版。開始懷疑以前的python3.6是不是已經不起作用了,調出windows的cmd視窗執行檢視python版本,還好還是3.6的,再執行以前的vscode檢視python版本,也是3.6,看來Anaconda有點像沙盒,在其裡面執行的程式比如vscode,會自動使用Anaconda建立的環境,包括python3.7版本以及獨立的vscode配置,而單獨執行vscode還是使用3.6版本和原先的配置,怪不得安裝時不建議把Anaconda新增到環境變數裡,不然就沒辦法這麼容易切換版本了。
這樣的話,要使用3.7版本,必須所有操作都在Anaconda裡進行,在其外執行的任何python都是3.6版本。

安裝第三方包

在Anaconda Navigator介面的環境項裡,可以看到有個預設的base(root)環境,這就是Anaconda裡的python3.7環境,旁邊列表是已經安裝的各種第三方包。
在這裡插入圖片描述
執行Anaconda Prompt調出命令列模式,用pip install pymssql新增一個mssql支援庫,但安裝完成後在列表中並未顯示出來,但可以正常使用。看到網上說在Anaconda環境裡建議使用conda命令安裝第三方包,於是先把pymssql解除安裝,然後使用conda install pymssql命令安裝,安裝完成重啟Navigator後,在列表中可以看到pymssql庫了。
解除安裝可使用conda remove pymssql

或者conda uninstall命令,使用pip uninstall pymssql命令也可以解除安裝,但列表無法更新,仍舊還可以看到。

修改下載源為國內映象

在Prompt裡執行命令即可:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

環境管理

新建環境

在Navigator裡的環境項Environments裡,可以進行環境管理,點選Create可以新增新的環境,或者在Prompt裡執行命令conda create -n py36 python=36,會自動下載python3.6版本,並新建一個名為py36的python3.6執行環境。這個新的python3.6安裝路徑在Anaconda安裝目錄的envs目錄裡。
另外在Navigator的環境項裡還有克隆及移除環境選項。

檢視環境列表

命令:conda env list
在這裡插入圖片描述

切換環境

Navigator的home項裡可以選擇查詢使用哪種環境執行
在這裡插入圖片描述
也可以在Prompt裡執行切換命令activate py36,提示符前面的(base)會變為(py36),但這個切換似乎只對Prompt起作用,並不影響Navigator里程序執行的環境,另外重啟Prompt後仍舊是預設的(base)環境。

新環境的第三方包

新環境除了幾個必要的包外,是不包含其他第三方包的,可以使用conda命令進行安裝,也可以在Navigator的環境裡,選擇新環境,顯示not installed包列表,這裡可以看到其他環境裡安裝過的包,勾選需要安裝的包,點選apply進行安裝。但並不清楚這種安裝方法是直接把其他環境的包複製過來還是重新下載安裝?
在這裡插入圖片描述

使用已存在的python建立新環境

由於我電腦裡的python已經使用了一段時間,安裝了不少包,如果在Anaconda預設環境或者新建環境裡,要重新安裝這些包,因此考慮是否可以根據已存在的python建立新的環境。
把原來的python3.6安裝目錄Python36複製到envs目錄,然後選擇新增新環境,但在Navigator裡只能選擇3.6版本,其實安裝的是3.6.3版本,而我用的是3.6.0版本,因此使用命令建立環境conda create -n Python36 python=3.6.0環境名必須和目錄名相同
執行命令後,也不檢測是否已經存在了,而是傻乎乎的重新下載python,覆蓋安裝到我複製過來的目錄裡,完成後檢視包列表,仍舊只有幾個必須的包。但注意到包列表上方有個Update index...按鈕,不知道什麼作用,但感覺有點用處,點了試試看,在列表下方出現了updating package index and metadata...滾動條,片刻果真所有的包都出現在列表裡了。
再試試看,不復制以前的python目錄,新建一個環境,然後只把以前python目錄裡的包目錄lib內容複製到新環境的包目錄裡,然後update index,所有包也出現在了包列表中。但這些包沒有pip install也沒conda install,可用嗎?測試了下,看來是我多慮了,完全可用。

至此,以後可以方便的進行各種python版本切換,不怕影響其他設定了。