Anaconda的新手使用注意事項

  發布時間:2019-10-06 16:22:05   作者:佚名   我要評論
這次給大家帶來Anaconda的新手使用大全,新手使用Anaconda的注意事項有哪些,下面就是實戰案例,一起來看一下

Python易用,但用好卻不易,其中比較頭疼的就是包管理和Python不同版本的問題,特別是當你使用Windows的時候。為了解決這些問題,有不少發行版的Python,比如WinPython、Anaconda等,這些發行版將python和許多常用的package打包,方便pythoners直接使用,此外,還有virtualenv、pyenv等工具管理虛擬環境。

個人嘗試了很多類似的發行版,最終選擇了Anaconda,因為其強大而方便的包管理與環境管理的功能。該文主要介紹下Anaconda,對Anaconda的理解,并簡要總結下相關的操作。

Anaconda概述

Anaconda是一個用于科學計算的Python發行版,支持 Linux, Mac, Windows系統,提供了包管理與環境管理的功能,可以很方便地解決多版本python并存、切換以及各種第三方包安裝問題。Anaconda利用工具/命令conda來進行package和environment的管理,并且已經包含了Python和相關的配套工具。

這里先解釋下conda、anaconda這些概念的差別。conda可以理解為一個工具,也是一個可執行命令,其核心功能是包管理與環境管理。包管理與pip的使用類似,環境管理則允許用戶方便地安裝不同版本的python并可以快速切換。Anaconda則是一個打包的集合,里面預裝好了conda、某個版本的python、眾多packages、科學計算工具等等,所以也稱為Python的一種發行版。其實還有Miniconda,顧名思義,它只包含最基本的內容——python與conda,以及相關的必須依賴項,對于空間要求嚴格的用戶,Miniconda是一種選擇。

進入下文之前,說明一下conda的設計理念——conda將幾乎所有的工具、第三方包都當做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環境管理的約束,能非常方便地安裝各種版本python、各種package并方便地切換。

Anaconda的安裝

Anaconda的下載頁參見官網下載,Linux、Mac、Windows均支持。

安裝時,會發現有兩個不同版本的Anaconda,分別對應Python 2.7和Python 3.5,兩個版本其實除了這點區別外其他都一樣。后面我們會看到,安裝哪個版本并不本質,因為通過環境管理,我們可以很方便地切換運行時的Python版本。(由于我常用的Python是2.7和3.4,因此傾向于直接安裝Python 2.7對應的Anaconda)

下載后直接按照說明安裝即可。這里想提醒一點:盡量按照Anaconda默認的行為安裝——不使用root權限,僅為個人安裝,安裝目錄設置在個人主目錄下(Windows就無所謂了)。這樣的好處是,同一臺機器上的不同用戶完全可以安裝、配置自己的Anaconda,不會互相影響。

對于Mac、Linux系統,Anaconda安裝好后,實際上就是在主目錄下多了個文件夾(~/anaconda)而已,Windows會寫入注冊表。安裝時,安裝程序會把bin目錄加入PATH(Linux/Mac寫入~/.bashrc,Windows添加到系統變量PATH),這些操作也完全可以自己完成。以Linux/Mac為例,安裝完成后設置PATH的操作是
 

# 將anaconda的bin目錄加入PATH,根據版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc

配置好PATH后,可以通過which condaconda --version命令檢查是否正確。假如安裝的是Python 2.7對應的版本,運行python --version或python -V可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也說明該發行版默認的環境是Python 2.7。

Conda的環境管理

Conda的環境管理功能允許我們同時安裝若干不同版本的Python,并能自由切換。對于上述安裝過程,假設我們采用的是Python 2.7對應的安裝包,那么Python 2.7就是默認的環境(默認名字是root,注意這個root不是超級管理員的意思)。

假設我們需要安裝Python 3.4,此時,我們需要做的操作如下:

# 創建一個名為python34的環境,指定Python版本是3.4(不用管是3.4.x,conda會為我們自動尋找3.4.x中的最新版本)
conda create --name python34 python=3.4

# 此時,再次輸入
python --version
# 可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系統已經切換到了3.4的環境

# 如果想返回默認的python 2.7環境,運行
deactivate python34 # for Windows
source deactivate python34 # for Linux & Mac

# 刪除一個已有的環境
conda remove --name python34 --all

# 安裝好后,使用activate激活某個環境
activate python34 # for Windows
source activate python34 # for Linux & Mac
# 激活后,會發現terminal輸入的地方多了python34的字樣,實際上,此時系統做的事情就是把默認2.7環境從PATH中去除,再把3.4對應的命令加入PATH

用戶安裝的不同python環境都會被放在目錄~/anaconda/envs下,可以在命令中運行conda info -e查看已安裝的環境,當前被激活的環境會顯示有一個星號或者括號。

說明:有些用戶可能經常使用python 3.4環境,因此直接把~/anaconda/envs/python34下面的bin或者Scripts加入PATH,去除anaconda對應的那個bin目錄。這個辦法,怎么說呢,也是可以的,但總覺得不是那么elegant……

如果直接按上面說的這么改PATH,你會發現conda命令又找不到了(當然找不到啦,因為conda在~/anaconda/bin里呢),這時候怎么辦呢?方法有二:1. 顯式地給出conda的絕對地址 2. 在python34環境中也安裝conda工具(推薦)。

Conda的包管理

Conda的包管理就比較好理解了,這部分功能與pip類似。

例如,如果需要安裝scipy:

# 安裝scipy
conda install scipy
# conda會從從遠程搜索scipy的相關信息和依賴項目,對于python 3.4,conda會同時安裝numpy和mkl(運算加速的庫)

# 查看已經安裝的packages
conda list
# 最新版的conda是從site-packages文件夾中搜索已經安裝的包,不依賴于pip,因此可以顯示出通過各種方式安裝的包

conda的一些常用操作如下:

# 查看當前環境下已安裝的包
conda list

# 查看某個指定環境的已安裝包
conda list -n python34

# 查找package信息
conda search numpy

# 安裝package
conda install -n python34 numpy
# 如果不用-n指定環境名稱,則被安裝在當前活躍環境
# 也可以通過-c指定通過某個channel安裝

# 更新package
conda update -n python34 numpy

# 刪除package
conda remove -n python34 numpy

前面已經提到,conda將conda、python等都視為package,因此,完全可以使用conda來管理conda和python的版本,例如

# 更新conda,保持conda最新
conda update conda

# 更新anaconda
conda update anaconda

# 更新python
conda update python
# 假設當前環境是python 3.4, conda會將python升級為3.4.x系列的當前最新版本

補充:如果創建新的python環境,比如3.4,運行conda create -n python34 python=3.4之后,conda僅安裝python 3.4相關的必須項,如python, pip等,如果希望該環境像默認環境那樣,安裝anaconda集合包,只需要:

# 在當前環境下安裝anaconda包集合
conda install anaconda

# 結合創建環境的命令,以上操作可以合并為
conda create -n python34 python=3.4 anaconda
# 也可以不用全部安裝,根據需求安裝自己需要的package即可

設置國內鏡像

如果需要安裝很多packages,你會發現conda下載的速度經常很慢,因為Anaconda.org的服務器在國外。所幸的是,清華TUNA鏡像源有Anaconda倉庫的鏡像,我們將其加入conda的配置即可:

# 添加Anaconda的TUNA鏡像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中鏡像地址加有引號,需要去掉

# 設置搜索時顯示通道地址
conda config --set show_channel_urls yes

 

執行完上述命令后,會生成~/.condarc(Linux/Mac)或C:\Users\USER_NAME\.condarc文件,記錄著我們對conda的配置,直接手動創建、編輯該文件是相同的效果。

Anaconda具有跨平臺、包管理、環境管理的特點,因此很適合快速在新的機器上部署Python環境。總結而言,整套安裝、配置流程如下:

  • 下載Anaconda、安裝
  • 配置PATH(bashrc或環境變量),更改TUNA鏡像源
  • 創建所需的不用版本的python環境
  • Just Try!

cheat-sheet 下載:

Conda cheat sheet

參考資料

用anaconda保證64位和32位的python共存

背景
喵哥想在MFC中調用python腳本,在原來的代碼中包含一個只支持x86的庫文件(超級核心的文件),原本安裝的python是x64的,強行運行程序會出現python頭文件里的函數無法解析的錯誤。考慮到anaconda可以方便的管理python版本,所以采用anaconda來安裝32位的python。

Anaconda的一些命令

1.查看當前工作平臺:conda info
 

(base) C:\Users\Catlin Cao>conda info
 
     active environment : base
    active env location : F:\Anaconda3
            shell level : 1
       user config file : C:\Users\Catlin Cao\.condarc
 populated config files : C:\Users\Catlin Cao\.condarc
          conda version : 4.5.11
    conda-build version : 3.15.1
         python version : 3.7.0.final.0
       base environment : F:\Anaconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-32
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/win-32
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/win-32
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/pro/win-32
                          https://repo.anaconda.com/pkgs/pro/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-32
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : F:\Anaconda3\pkgs32
                          C:\Users\Catlin Cao\AppData\Local\conda\conda\pkgs32
       envs directories : F:\Anaconda3\envs
                          C:\Users\Catlin Cao\AppData\Local\conda\conda\envs
                          C:\Users\Catlin Cao\.conda\envs
               platform : win-32
             user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Windows/10 Windows/10.0.17134
          administrator : False
             netrc file : None
           offline mode : False

可見此時是64位平臺。

2.切換64位和32位:set CONDA_FORCE_32BIT=1是切換到32位;set CONDA_FORCE_32BIT= 是切換到64位。

需要注意的是,這樣切換環境對于已經安裝的python沒有任何影響,即原先是64位的python,現在還是64位,所以需要切換到32位后再安裝python,并且安裝需要在prompt下進行,在navigator里新建的python默認是64位的。

3.安裝python:conda create -n env_name python=3.74,如果需要安裝一些包,只需要在name后加上對應的包名稱。conda create -n env_name numpy matplotlib python=3.74。

例如我們想安裝python3.74 的32位版本

conda create -n python32 python=3.74

4.切換環境:conda activate env_name,conda deactivate env_name。

5.移除環境:conda remove -n env_name --all

6.安裝包:activate env_name,conda install pandas。安裝anaconda發行版的所有包:conda install anaconda,但是這樣會在所有環境都執行這樣的操作,所以需要指定安裝環境:conda install -n env_name pandas

今天需要調用一個dll動態函數庫,但是本地的python是64位的,dll是32位的,直接調用會報錯。

OSError: [WinError 193] %1 不是有效的 Win32 應用程序。

 

python版本:3.6
anaconda對于python版本的管理還是很方便的,所以這里用anaconda才實現32位和64位python共存
1、打開anaconda prompt,輸入 conda info ,可以看到現在用的是64位的。

在這里插入圖片描述
2、切換成32位的 set CONDA_FORCE_32BIT=1 可以看出已經切換成32位的了
在這里插入圖片描述
3、安裝32位的python3.6 conda create -n python32 python=3.6
在這里插入圖片描述
安裝完成后在anaconda3文件夾下面會有一個envs文件夾
在這里插入圖片描述
4、激活環境 conda activate python32 ,如果要取消 conda deactivate python32,如果要刪除環境 conda remove -n python32--all
5、如果要在pycharm中使用該環境
在這里插入圖片描述
點擊add local
在這里插入圖片描述
點擊ok就行了

以上的操作都是在Anaconda Prompt里,其實用Anaconda圖形界面(Navigator)安裝python會更加直觀,但是需要注意的是,無論你是否在Prompt里設置了32位的環境,用Navigator安裝的python都是64位的,大家可以試一下,有異議歡迎留言交流。

相關文章

  • scratch3.0怎么制作小貓說話動畫?

    scratch3.0怎么制作小貓說話動畫?scratch3.0創建的小貓角色,想要實現小貓說話的效果,該怎么制作呢?下面我們就來看看詳細的教程,需要的朋友可以參考下
    2019-10-25
  • scratch怎么制作變色眼鏡的動畫?

    scratch怎么制作變色眼鏡的動畫?scratch中想要制作一個可以變色的眼鏡,該怎么制作變色眼鏡的動畫效果呢?下面我們就來看看詳細的教程,需要的朋友可以參考下
    2019-10-25
  • VS2015找不到win32位的控制臺怎么解決?

    VS2015找不到win32位的控制臺怎么解決?VS2015安裝成功以后,發現沒有win32控制臺,該怎么解決這個問題呢?下面我們就來看看詳細的教程,需要的朋友可以參考下
    2019-10-22
  • scratch怎么讓小貓畫粉色圓形?

    scratch怎么讓小貓畫粉色圓形?scratch中創建的小貓角色,想要讓小貓畫粉色的圓形,該怎么實現呢?下面我們就來看看詳細的教程,需要的朋友可以參考下
    2019-10-18
  • UEStudio19怎么激活 UE最新圖文激活教程

    IDM UEStudio 19怎么激活?此次小編給大家分享的是目前最簡單的ue激活版本了,只需要用戶復制粘貼,然后點擊patch即可一鍵激活,需要的朋友快快下載吧
    2019-10-17
  • 開發套件Altova MissionKit Enterprise 2019中文企業激活+安裝教程(附

    Altova MissionKit 2019中文企業版是一款面向信息架構師和應用程序開發人員的企業級XML、SQL和UML工具的軟件開發套件,擁有支持調試、建模和轉換XSD、XML、XSLT和HTML5工具
    2019-10-16
  • Notepad++文件名稱標簽怎么放大?

    Notepad++文件名稱標簽怎么放大?Notepad++打開的文件名稱標簽是縮小的,想要放大,該怎么放大呢?下面我們就來看看詳細的教程,需要的朋友可以參考下
    2019-10-12
  • VS2019怎么設置調式輸出窗口?

    VS2019怎么設置調式輸出窗口?VS2019中想要調試輸出窗口,該怎么調試呢?這是簡單的基礎知識,需要的朋友可以參考下
    2019-10-12
  • Notepad++工具欄圖標怎么變大?

    Notepad++工具欄圖標怎么變大?Notepad++工具欄圖標想要換成大圖標,該怎么設置呢?下面我們就來看看詳細的教程,需要的朋友可以參考下
    2019-10-11
  • VS2019解決方案怎么自定義項目位置?

    VS2019解決方案怎么自定義項目位置?VS2019編程開發的時候,想要設置解決方案的項目位置,該怎么設置呢?下面我們就來看看詳細的教程,需要的朋友可以參考下
    2019-10-11

最新評論

码报108