python Anaconda

来源:https://www.cnblogs.com/lonelyshy/archive/2018/09/19/9672330.html
-Advertisement-
Play Games

轉載自 https://blog.csdn.net/program_developer/article/details/79677557 目錄: Anaconda是什麼? 如何安裝? 如何管理包? 如何管理環境 1.Anaconda是什麼? 簡單來說,Anaconda是Python的包管理器和環境管 ...


轉載自   https://blog.csdn.net/program_developer/article/details/79677557

 

目錄:

  1. Anaconda是什麼?

  2. 如何安裝?

  3. 如何管理包?

  4. 如何管理環境

 

1.Anaconda是什麼?

 

簡單來說,Anaconda是Python的包管理器和環境管理器。先來解決一個初學者都會問的問題:我已經安裝了Python,那麼為什麼還需要Anaconda呢?原因有以下幾點:

(1)Anaconda附帶了一大批常用數據科學包,它附帶了conda、Python和 150 多個科學包及其依賴項。因此你可以用Anaconda立即開始處理數據。

(2)管理包。Anaconda 是在 conda(一個包管理器和環境管理器)上發展出來的。在數據分析中,你會用到很多第三方的包,而conda(包管理器)可以很好的幫助你在電腦上安裝和管理這些包,包括安裝、卸載和更新包。

(3)管理環境。為什麼需要管理環境呢?比如你在A項目中用到了Python2,而新的項目要求使用Python3,而同時安裝兩個Python版本可能會造成許多混亂和錯誤。這時候conda就可以幫助你為不同的項目建立不同的運行環境。還有很多項目使用的包版本不同,比如不同的pandas版本,不可能同時安裝兩個pandas版本。你要做的應該是在項目對應的環境中創建對應的pandas版本。這時候conda就可以幫你做到。

總結:Anaconda解決了官方Python的兩大痛點:

(1)提供了包管理功能,Windows平臺安裝第三方包經常失敗的場景得以解決。

(2)提供環境管理功能,解決了多版本Python並存、切換的問題。

 

 

2.如何安裝?

 

直接在官網下載安裝包,官網地址https://www.anaconda.com/download/。選擇Python3.6的安裝包進行下載,下載完成後直接安裝。安裝完成之後會有一個Anaconda Prompt,類似於windows的終端操作,可以輸入命令行啦!

 

                         圖1:Anaconda安裝成功界面

 

 

 

 

3.如何管理包?

 

 

安裝Anaconda之後,我們就可以很方便的管理安裝包(安裝,卸載,更新)。

 

(1)安裝包

conda 的包管理功能和pip 是一樣的,當然你選擇pip 來安裝包也是沒問題的。

 

  1.   # 安裝 matplotlib
  2.   conda install matplotlib

(2)卸載包

  1.   # 刪除包
  2.   conda remove matplotlib

(3)更新包

  1.   # 包更新
  2.   conda update matplotlib

(4)查詢已經安裝的包

  1.   # 查看已安裝的包
  2.   conda list

(5)修改鏡像地址

 

1.修改Anaconda鏡像地址

安裝Anaconda時候,訪問的是國外的網路,所以下載Anaconda和安裝包時會特別慢。我們需要更換到國內鏡像源地址,這裡我更換到國內的清華大學地址。(永久添加鏡像)Windows命令:

 

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

2.修改pip鏡像地址

如果你安裝包時用的是pip,感覺也很慢。同樣的,我們把pip的鏡像源地址改成國內的,豆瓣源速度比較快。(臨時修改的方法)Windows命令:

 

可以在使用pip的時候加參數-i https://pypi.tuna.tsinghua.edu.cn/simple

例子:

  1.   #這樣就會從清華這邊的鏡像去安裝numpy庫。
  2.    
  3.   pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

當然,pip還有永久修改,一勞永逸的辦法:

 

windows下,直接在user目錄中創建一個pip目錄,如:C:\Users\xx\pip,新建文件pip.ini,內容如下:

 

  1.   [global]
  2.   index-url = https://pypi.tuna.tsinghua.edu.cn/simple

4.如何管理環境

 

 

conda 可以為你不同的項目建立不同的運行環境。

 

 

(1)創建環境

 

conda create –n python27 numpy

上面的命令中,python27是設置環境的名稱(-n是指該命令後面的python27是你要創建環境的名稱),numpy是你要安裝在環境中的包名稱。

註意:創建環境時,可以指定要安裝在環境中的Python版本。當你同時使用 Python 2.x 和 Python 3.x 中的代碼時這很有用。要創建具有特定 Python 版本的環境,例如創建環境名稱為python36,並安裝最新版本的Python3.6在終端中輸入:

 

conda create –n python36 python=3.6

或也可以這樣創建環境名稱為python27,並安裝最新版本Python2.7:

conda create –n python27 python=2.7

因為我做的項目不同,有時候會用到Python2,還有時候會用到Python3。所以我在自己的電腦上創建了這兩個環境,並分別取了這樣的環境名稱:python27,python36。這樣我可以根據不同的項目輕鬆使用不同版本的python。

 

2)進入環境

在 Windows 上,你可以使用

 

conda activate python27

進入。進入之後,你可以在終端提示符中看到環境名稱。當然,當你進入環境後,可以用conda list 查看環境中預設的安裝包。

圖2:進入環境

 

(3)離開環境

在 Windows 上,終端中輸入:

deactivate

(4)共用環境

共用環境非常有用,它能讓其他人安裝你代碼中使用的所有包,並確保這些包的版本正確。比如你開發了一個藥店數據分析系統,你要提交給項目部署系統的人來部署你的項目,但是他們並不知道你當時開發時使用的是哪個python版本,以及使用了哪些包和包的版本。這怎麼辦呢?你可以在你當前的環境的終端中使用:

 

conda env export > environment.yaml

將你當前的環境保存到文件中包保存為YAML文件(包括Pyhton版本和所有包的名稱)。命令的第一部分 conda env export 用於輸出環境中的所有包的名稱(包括 Python 版本)。你在終端中上可以看到導出的環境文件路徑。在 GitHub 上共用代碼時,最好同樣創建環境文件並將其包括在代碼庫中。這能讓其他人更輕鬆地安裝你的代碼的所有依賴項。

               

圖3:共用環境

 

那麼問題來了:導出的環境文件,在其他電腦環境中如何使用呢?

首先在conda中進入你的環境,比如conda activate python27。然後在使用以下命令更新你的環境:

 

  1.   #其中-f表示你要導出文件在本地的路徑,所以/path/to/environment.yml要換成你本地的實際路徑
  2.   conda env update -f=/path/to/environment.yml

對於不使用conda 的用戶,我們通常還會使用以下命令將一個 txt文件導出並包括在其中:

pip freeze > environment.txt 
圖4:恢復環境共用

然後我將該文件包含在項目的代碼庫中,其他項目成員即使在他的電腦上沒有安裝conda也可以使用該文件來安裝和我一樣的開發環境:

他在自己的電腦上進入python命令環境,然後運行以下命令就可以安裝該項目需要的包:

 

  1.   #其中C:\Users\Microstrong\enviroment.txt是該文件在你電腦上的實際路徑。
  2.   pip install -r C:\Users\Microstrong\enviroment.txt

(5)列出環境

有時候會忘記自己創建的環境名稱,這時候用 conda env list 就可以列出你創建的所有環境。

                                  圖5:查看環境

你會看到環境的列表,而且你當前所在環境的旁邊會有一個星號。預設的環境(即當你不在選定環境中時使用的環境)名為 base。

 

6)刪除環境

如果你不再使用某個環境,可以使用以下命令。

  1.   #刪除指定的環境(在這裡環境名為 python27)。
  2.   conda env remove -n python27

轉載自   https://blog.csdn.net/program_developer/article/details/79677557


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原文出自: "http://cmsblogs.com" 獲取 Document 對象後,會根據該對象和 Resource 資源對象調用 方法,開始註冊 BeanDefinitions 之旅。如下: 首先調用 方法實例化 BeanDefinitionDocumentReader 對象,然後獲取統計前 ...
  • 關鍵字:架構設計 軟體質量保證 資料庫完整性 1、資料庫完整性討論 有許多同學認為開發階段沒必要建立外鍵約束,更不用建立檢查約束,因為會影響單表數據寫入做測試。 這個想法是非常錯誤的,不規範的,不專業的。 首先影不影響測試是無稽之談,說明這類同學開發時不會寫單元測試,通過野路子來測試,質量不保。 然 ...
  • 本地部署時代 在軟體還是“本地部署(on-premise)”的時候,SaaS的版圖被大型玩家把持著,幾乎所有的垂直領域(營銷、支持、銷售、人力)都被微軟、SAP等大公司的解決方案占據。那時候的用戶並沒有什麼“軟體棧”可供選擇。 第一代SaaS冠軍 隨著互聯網的不斷普及,SaaS模式開始發揮作用。第一 ...
  • sleep(休眠) 和 wait(等待) 方法是 Java 多線程中常用的兩個方法,它們有什麼區別及一些該註意的地方有哪些呢?下麵給大家一一分解。 區別1:使用限制 使用 sleep 方法可以讓讓當前線程休眠,時間一到當前線程繼續往下執行,在任何地方都能使用,但需要捕獲 InterruptedExc ...
  • 軟體構造工具包括程式編輯器,編譯器,代碼生成器,解釋器和調試器 ...
  • lambda 表達式 剖析 大前提:捕獲列表裡變數的確定時機。 捕獲列表和參數列表有區別,捕獲列表裡的變數,是在捕獲的時間點就確定了,而不是在lambda調用時確定,參數列表是在調用時才確定。所以當捕獲了一個int i,i=12,然後在lambda後面的代碼又改變i為22,但是當調用lambda的時 ...
  • 原文出自: "http://cmsblogs.com" 在 方法中做了兩件事情,一是調用 獲取 XML 的驗證模式,二是調用 獲取 Document 對象。上篇博客已經分析了獲取 XML 驗證模式( "【死磕Spring】 IOC 之 獲取驗證模型" ),這篇我們分析獲取 Document 對象。 ...
  • 本文首發於我的個人博客: "尾尾部落" 本文是我刷了幾十篇一線互聯網校招java後端開發崗位的面經後總結的多線程相關題目,雖然有點小長,但是面試前看一看,相信能幫你輕鬆啃下多線程這塊大骨頭。 什麼是進程,什麼是線程?為什麼需要多線程編程? 進程間的通信方式、線程間的通信方式 實現多線程的三種方法 三 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...