Anaconda3 使用手冊

··參考:Anaconda完全入門指南

在 Python 的編程過程中您可以會遇到如下場景:

  1. 我的電腦上安裝了 Python3 但是剛剛接手的項目是 Python2 的,我該怎么辦?需要重新安裝 Python 嗎?
  2. 對于深度學習項目,您如何配置不同的環(huán)境以匹配不同的框架(如 Pytorch,MXNet,TensorFlow)?
  3. 如何將已經(jīng)配置好的環(huán)境遷移到其他電腦上,而無需重新配置環(huán)境?
  4. 如何直接在 Jupyter Notebook 中切換環(huán)境?

??這么多問題?該怎么辦?其實,這些問題,只要您安裝 Anaconda3 即可迎刃而解!

關(guān)于軟件的安裝,按照圖示提示即可。本文主要介紹如何解決上述問題。本文以主要著眼于 Windows10 系統(tǒng),其他系統(tǒng)是類似的。

1 Anaconda 基礎

  1. 查看 conda 版本

Windows 用戶請打開 “Anaconda Prompt”;macOS 和 Linux 用戶請打開 “Terminal”(“終端”)進行操作。

conda --version

終端上將會以 conda 版本號 的形式顯示當前安裝 conda 的版本號,如:conda 4.8.2

  1. 更新 conda 至最新版本
conda update conda

執(zhí)行命令后,conda 將會對版本進行比較并列出可以升級的版本。同時,也會告知用戶其他相關(guān)包也會升級到相應版本。

  1. 查看 conda 幫助信息
conda --help # 或者 conda -h
  1. 卸載 conda

① Linux 或 macOS

rm -rf ~/anaconda3

即刪除Anaconda的安裝目錄。根據(jù)安裝的Anaconda版本選擇相應的卸載命令。

② Windows

控制面板 → 添加或刪除程序 → 選擇“Python X.X (Anaconda)” → 點擊“刪除程序”

注意:Python X.X:即 Python 的版本,如:Python 3.6。

2 使用命令行進行環(huán)境管理

如果您在安裝 Anaconda 時將其添加到了電腦的環(huán)境變量,可以在命令行直接輸入 activate 激活環(huán)境。否則,需要使用完整的路徑激活環(huán)境比如:

C:\Users\xinet\anaconda3\Scripts\activate

該路徑是您的 Anaconda3 所在目錄,即:

圖1 activate Python base 環(huán)境

運行該命令,終端便會多一個 base 的提示:

圖2 在終端進入 base 環(huán)境

最好不要在 base 環(huán)境中安裝或者配置一些包之類的,它是 Python 的基礎環(huán)境,為了更好的管理 Python 環(huán)境,需要創(chuàng)建屬于自己的環(huán)境。

2.1 創(chuàng)建新環(huán)境

conda create --name <env_name> <package_names>

也可以簡寫為 conda create -n <env_name> <package_names>。其中 <env_name><package_names> 分別表示創(chuàng)建的環(huán)境名以及環(huán)境中的包名。建議以英文命名,且不加空格,名稱兩邊不加尖括號 <>

  1. 如果要安裝指定的版本號,則只需要在包名后面以 = 和版本號的形式執(zhí)行。如: conda create --name python2 python=2.7 ,即創(chuàng)建一個名為 “python2” 的環(huán)境,環(huán)境中安裝版本為 2.7 的 python。
  2. 如果要在新創(chuàng)建的環(huán)境中創(chuàng)建多個包,則直接在 <package_names> 后以空格隔開,添加多個包名即可。如: conda create -n python3 python=3.5 numpy pandas,即創(chuàng)建一個名為 “python3” 的環(huán)境,環(huán)境中安裝版本為 3.5 的 Python,同時也安裝了 numpy 和 pandas。

提示:默認情況下,新創(chuàng)建的環(huán)境將會被保存在 /Users/<user_name>/anaconda3/env 目錄下,其中,<user_name> 為當前用戶的用戶名。

2.2 切換環(huán)境

需要注意本文介紹的激活方法僅僅適用于 conda 4.6 及其以上版本。

conda activate <env_name> # 切換環(huán)境

2.3 列出全部環(huán)境

列出全部環(huán)境可以是 conda env list 或者 conda info -e 或者 conda info --envs。結(jié)果中星號“*”所在行即為當前所在環(huán)境。macOS系統(tǒng)中默認創(chuàng)建的環(huán)境名為“base”。

圖2 列出全部環(huán)境

2.4 復制環(huán)境

<copied_env_name> 即為被復制/克隆環(huán)境名。<new_env_name> 即為復制之后新環(huán)境的名稱。

conda create --name <new_env_name> --clone <copied_env_name>

2.5 刪除環(huán)境

conda remove --name <env_name> --all

其中 <env_name> 為被刪除環(huán)境的名稱。

2.6 導入導出環(huán)境

如果想要導出當前環(huán)境的包信息可以用

conda env export > environment.yaml

將包信息存入 yaml 文件中。當需要重新創(chuàng)建一個相同的虛擬環(huán)境時可以用

conda env create -f environment.yaml

3 使用命令行進行管理包

3.1 查找可供安裝的包版本

  1. 精確查找
conda search --full-name <package_full_name>

--full-name 為精確查找的參數(shù)。<package_full_name>是被查找包的全名。

  1. 模糊查找
conda search <text>

其中 <text> 是查找含有此字段的包名。例如:conda search py 即查找含有 py 字段的包,有哪些版本可供安裝。

3.2 獲取當前環(huán)境中已安裝的包信息

conda list

執(zhí)行上述命令后將在終端顯示當前環(huán)境已安裝包的包名及其版本號。

3.3 安裝包

  1. 在指定環(huán)境中安裝包
conda install --name <env_name> <package_name>

<env_name> 即將包安裝的指定環(huán)境名。<package_name> 即要安裝的包名。例如:conda install --name python2 pandas 即在名為“python2”的環(huán)境中安裝 pandas 包。

  1. 在當前環(huán)境中安裝包
conda install <package_name>
  1. 使用 pip 安裝包

?使用場景:當使用 conda install 無法進行安裝時,可以使用 pip 進行安裝。例如:see 包。

pip install <package_name>

注意:pip 只是包管理器,無法對環(huán)境進行管理。因此如果想在指定環(huán)境中使用 pip 進行安裝包,則需要先切換到指定環(huán)境中,再使用 pip 命令安裝包。pip 無法更新 Python,因為 pip 并不將 python 視為包。pip 可以安裝一些 conda 無法安裝的包;conda 也可以安裝一些 pip 無法安裝的包。因此當使用一種命令無法安裝包時,可以嘗試用另一種命令。

  1. http://Anaconda.org 安裝包

?使用場景:當使用 conda install 無法進行安裝時,可以考慮從 http://Anaconda.org 中獲取安裝包的命令,并進行安裝。

3.4 卸載包

  1. 卸載指定環(huán)境中的包
conda remove --name <env_name> <package_name>

<env_name> 即卸載包所在指定環(huán)境的名稱。<package_name> 即要卸載包的名稱

  1. 卸載當前環(huán)境中的包
conda remove <package_name>

3.5 更新包

  1. 更新所有包
conda update --all

建議:在安裝 Anaconda 之后執(zhí)行上述命令更新 Anaconda 中的所有包至最新版本,便于使用。

  1. 更新指定包
conda update <package_name>

<package_name> 為指定更新的包名。更新多個指定包,則包名以空格隔開,向后排列。如:conda update pandas numpy matplotlib 即更新 pandas、numpy、matplotlib 包。

4 設置清華鏡像

參考:anaconda | 鏡像站使用幫助 | 清華大學開源軟件鏡像站 ...

為了提高 pip 與 conda 安裝軟件包的速度,我們需要設置清華鏡像。對于 pip,不同系統(tǒng)設置的方法是一樣的,即:

$ pip install --upgrade pip -U # -U == --user
$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

而對于 conda,在 Windows10 中這樣設置:

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

在 Ubuntu18.04 中設置 conda,需要借助 vscode 修改用戶目錄下的 .condarc,即 code ~/.condarc,然后添加如下內(nèi)容:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

5 在 Jupyter Notebook 中切換環(huán)境

我們知道 Jupyter Notebook 是一個十分強大的工具,需要在 Jupyter Notebook 中切換環(huán)境,則需要配置 ipykernel,比如,創(chuàng)建一個 TensorFlow 的環(huán)境:

$ conda install ipykernel
$ python -m ipykernel install --user --name tensorflow --display-name "tensorflow"

效果如下:

圖3 在 Jupyter Notebook 中切換環(huán)境

如果沒有達到預期效果,可以繼續(xù)安裝 jupyter 即可:

$ pip install jupyter

更多精彩見 6 搭建一個友好的可塑性計算機視覺工具集

討論

在 Windows10 的 PowerShell 不能直接切換 conda 的環(huán)境,您需要在其中輸入:

$ cmd

才可以切換環(huán)境。具體見下圖:

圖7 在 Windows10 的 PowerShell 切換 Python 環(huán)境

圖7 中不能直接使用 conda 的原因是我的電腦沒有把 conda 添加的電腦的系統(tǒng)環(huán)境變量之中,所以需要使用絕對路徑啟動 base 環(huán)境。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。