Anaconda入門教程【快速掌握】


Anaconda 使用指南

概述

很多學習python的初學者甚至學了有一段時間的人接觸到anaconda或者其他虛擬環境工具時覺得無從下手, 其主要原因就是不明白這些工具究竟有什么用, 是用來做什么的, 為什么要這么做, 比如筆者一開始也是不明白為啥除了python之外我還需要這么一個東西, 他和python到底有啥聯系和區別, 為啥能用來管理python.

在使用過之后我才逐漸發現其實anaconda等環境管理工具究竟在做啥, 以及為什么我們需要他們來管理我們的python環境

首先我們需要先去了解Anaconda誕生的目的.再去了解Anaconda的使用方法.

Python本身

首先我們需要從python本身說起, 從根源尋找問題, 我們在使用python語言編寫程序之前需要下載一個python解釋器, 這才是python的本體, 沒了python解釋器, 我們即使寫了無比正確優雅的python腳本也沒辦法運行, 那這個解釋器在哪呢.就在你安裝python的地方,比如我的在C:\Users\Acring\AppData\Local\Programs\Python\Python36-32

 
image.png

項目結構如上圖,這里有我們很熟悉的python.exe, 也就是Python解釋器

除此之外還有個很重要的東西, Lib, 也就是python包文件, 包括自帶的包和第三方包

 
Lib文件夾

Lib目錄如上圖, 這里有python自帶的包, 如筆者常用的日志包logging, 異步包 concurrent, 而所有的第三方包都放在site-packages文件夾里面

了解了這些我們就對整個python環境有了大概的了解, 其實最關鍵的, 一個python環境中需要有一個解釋器, 和一個包集合.

解釋器

解釋器根據python的版本大概分為2和3. python2和3之間無法互相兼容, 也就是說用python2語法寫出來的腳本不一定能在python3的解釋器中運行.

包集合

包集合中包含了自帶的包和第三方包, 第三方包我們一般通過pip或者easy_install來下載, 當一個python環境中不包含這個包, 那么引用了這個包的程序不能在該python環境中運行.

比如說一個爬蟲腳本用到了第三方的requests包,而另一台計算機是剛剛裝好原始python的, 也就是說根本沒有任何第三方包, 那么這個爬蟲腳本是無法在另一台機器上運行的.

問題所在

python環境解釋完了, 那么接下來就要說明這樣的環境究竟產生哪些問題, 因為anaconda正式為了解決這些問題而誕生的

  1. 到底該裝 Python2 呢還是 Python3

python2和python3在語法上是不兼容的, 那我的機器上應該裝python2還是python3呢, 可能一開始選一個學習就好了, 但是如果你要開發的程序必須使用python2而不能使用python3,那這時候你就不得不再下載一個python2, 那這時候環境變量該設誰的目錄呢, 如果還是切換環境變量豈不是很麻煩.

  1. 包管理

如果我在本地只有一個python環境那我所有程序用到的各種包都只能放到同一個環境中, 導致環境混亂, 另外當我將寫好的程序放到另一電腦上運行時又會遇到缺少相關包, 需要自己手動一個個下載的情況, 實在是煩人, 要是能每個程序開發都選用不同的環境, 而開發好之后又能將該程序需要的環境(第三方包)都獨立打包出來就好了.

Anaconda

那么接下來就到我們的anaconda上場了, 先讓我們安裝好Anaconda然后我再來告訴你如何用Anaconda一個個解決我們上面的問題吧.

下載

官網下載

推薦下載python3版本, 畢竟未來python2是要停止維護的.

 

安裝

按照安裝程序提示一步步安裝就好了, 安裝完成之后會多幾個應用

  • Anaconda Navigtor :用於管理工具包和環境的圖形用戶界面,后續涉及的眾多管理命令也可以在 Navigator 中手工實現。
  • Jupyter notebook :基於web的交互式計算環境,可以編輯易於人們閱讀的文檔,用於展示數據分析的過程。
  • qtconsole :一個可執行 IPython 的仿終端圖形界面程序,相比 Python Shell 界面,qtconsole 可以直接顯示代碼生成的圖形,實現多行代碼輸入執行,以及內置許多有用的功能和函數。
  • spyder :一個使用Python語言、跨平台的、科學運算集成開發環境。

暫時先不用管, 了解一下就行了

配置環境變量

如果是windows的話需要去 控制面板\系統和安全\系統\高級系統設置\環境變量\用戶變量\PATH 中添加 anaconda的安裝目錄的Scripts文件夾, 比如我的路徑是D:\Software\Anaconda\Scripts, 看個人安裝路徑不同需要自己調整.

之后就可以打開命令行(最好用管理員模式打開) 輸入 conda --version

如果輸出conda 4.4.11之類的就說明環境變量設置成功了.

為了避免可能發生的錯誤, 我們在命令行輸入conda upgrade --all 先把所有工具包進行升級

管理虛擬環境

接下來我們就可以用anaconda來創建我們一個個獨立的python環境了.接下來的例子都是在命令行操作的,請打開你的命令行吧.

activate

activate 能將我們引入anaconda設定的虛擬環境中, 如果你后面什么參數都不加那么會進入anaconda自帶的base環境,

你可以輸入python試試, 這樣會進入base環境的python解釋器, 如果你把原來環境中的python環境去除掉會更能體會到, 這個時候在命令行中使用的已經不是你原來的python而是base環境下的python.而命令行前面也會多一個(base) 說明當前我們處於的是base環境下.

 activate

創建自己的虛擬環境

我們當然不滿足一個base環境, 我們應該為自己的程序安裝單獨的虛擬環境.

創建一個名稱為learn的虛擬環境並指定python版本為3(這里conda會自動找3中最新的版本下載)

 

 

 image.png

於是我們就有了一個learn的虛擬環境, 接下來我們切換到這個環境, 一樣還是用activae命令 后面加上要切換的環境名稱

切換環境

 

 如果忘記了名稱我們可以先用

去查看所有的環境

現在的learn環境除了python自帶的一些官方包之外是沒有其他包的, 一個比較干凈的環境我們可以試試

先輸入python打開python解釋器然后輸入

 會報錯找不到requests包, 很正常.接下來我們就要演示如何去安裝requests包

退出python解釋器

安裝第三方包

輸入

 

 

 或者

 

 就行啦.

查看環境包信息

要查看當前環境中所有安裝了的包可以用

conda list 

導入導出環境

如果想要導出當前環境的包信息可以用

conda env export > environment.yaml

將包信息存入yaml文件中.

當需要重新創建一個相同的虛擬環境時可以用

conda env create -f environment.yaml

其實命令很簡單對不對, 我把一些常用的在下面給出來, 相信自己多打兩次就能記住

activate // 切換到base環境

activate learn // 切換到learn環境

conda create -n learn python=3 // 創建一個名為learn的環境並指定python版本為3(的最新版本)

conda env list // 列出conda管理的所有環境

conda list // 列出當前環境的所有包

conda install requests 安裝requests包

conda remove requests 卸載requets包

conda remove -n learn --all // 刪除learn環境及下屬所有包

conda update requests 更新requests包

conda env export > environment.yaml // 導出當前環境的包信息

conda env create -f environment.yaml // 用配置文件創建新的虛擬環境

深入一下

或許你會覺得奇怪為啥anaconda能做這些事, 他的原理到底是什么, 我們來看看anaconda的安裝目錄

 

 

 image.png

這里只截取了一部分, 但是我們和本文章最開頭的python環境目錄比較一下, 可以發現其實十分的相似, 其實這里就是base環境. 里面有着一個基本的python解釋器, lLib里面也有base環境下的各種包文件.

那我們自己創建的環境去哪了呢, 我們可以看見一個envs, 這里就是我們自己創建的各種虛擬環境的入口, 點進去看看

 

 image.png

可以發現我們之前創建的learn目錄就在下面, 再點進去

 

 image.png

這不就是一個標准的python環境目錄嗎?


這么一看, anaconda所謂的創建虛擬環境其實就是安裝了一個真實的python環境, 只不過我們可以通過activate,conda等命令去隨意的切換我們當前的python環境, 用不同版本的解釋器和不同的包環境去運行python腳本.

與pycharm連接

在工作環境中我們會集成開發環境去編碼, 這里推薦JB公司的pycharm, 而pycharm也能很方便的和anaconda的虛擬環境結合

Setting => Project => Project Interpreter 里面修改 Project Interpreter , 點擊齒輪標志再點擊Add Local為你某個環境的python.exe解釋器就行了

比如你要在learn環境中編寫程序, 那么就修改為 D:\Software\Anaconda\envs\learn, 可以看到這時候下面的依賴包也變成了learn環境中的包了.接下來我們就可以在pycharm中愉快的編碼了.

結語

現在你是不是發現用上anaconda就可以十分優雅簡單的解決上面所提及的單個python環境所帶來的弊端了呢, 而且也明白了其實這一切的實現並沒有那么神奇.

當然anaconda除了包管理之外還在於其豐富數據分析包, 不過那就是另一個內容了, 我們先學會用anaconda去換一種方法管里自己的開發環境, 這已經是一個很大的進步了

  如果還有問題未能得到解決,搜索887934385交流群,進入后下載資料工具安裝包等。最后,感謝觀看!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM