1. 程式人生 > >Python安裝模組(numpy等)問題的兩種解決辦法——常規方法和Anaconda

Python安裝模組(numpy等)問題的兩種解決辦法——常規方法和Anaconda

一.常見模組安裝問題

Python是現在最頂尖的幾個研究方向(人工智慧、機器學習等)的主流程式語言,博主因為要參加競賽也需要學習Python(主要是科學計算方面),現階段會用到的模組有numpy、scipy、matplotlib及scikit-learn(在from..import時應寫做sklearn)(這些模組是什麼大家可以自行搜尋一下,就不贅述了),但在引入模組這裡就遇到了不少問題,例如
ImportError: No module named sklearn/scipy
以及一些模組關聯和相容性的問題,實在是打消學習的積極性。好在博主在一兩天的摸爬混打後終於找到了此類問題的兩種解決方法——常規方法和使用python科學計算髮行版Anaconda(當然Anaconda的方便和強大遠不止於模組安裝方面,下文會介紹)。

二.常規的安裝模組的方法

最開始博主使用的是原生Python的”pip install package”命令來安裝的numpy模組,但後續在安裝sklearn、scipy、matplotlib過程中出現了上述問題(現在想來是因為不理解安裝順序和版本的重要性,Python比很多其他語言更吃版本和相容性)這時博主Google了到比較常規的解決方法(確實有效,但Anaconda又會更加方便)

常規解決方法如下:
第一步:使用“pip uninstall package兩種解決辦法——常規方法”命令解除安裝原始版本,如解除安裝Numpy
pip uninstall numpy

第二步:不使用”pip install package”安裝,而是去到Python模組官網下載相應版本(下滑頁面尋找所需模組)。

http://www.lfd.uci.edu/~gohlke/pythonlibs/
下載模組時最重要的是版本需要相容。例如,若作業系統為64位,Python是3.6.x版本,需要numpy模組,則選擇的模組應如下,其中cp36表示CPython 3.6.x版本,win_amd64指的是64位版本。
numpy-1.13.1-mkl-cp36-cp36m-win_amd64.whl

第三步:進入Python安裝Scripts目錄下,再使用pip install xxx.whl安裝,注意需先裝Numpy\Scipy\Matlotlib包,再安裝Scikit-Learn。
博主的python安裝路徑”D:\Python3.6.2\”,則安裝命令如下(博主的模組檔案是在F:\Download下,大家根據自己的路徑改寫命令就好):
pip install F:\Download\numpy-1.13.1-mkl-cp36-cp36m-win_amd64.whl

到這裡常規方法就結束啦,可能大家都覺得這個方法其實還不錯,但是如果我們需要給另外的還沒有安裝Python及這些模組的電腦安裝上述模組,就又得手動的一個一個模組下載安裝了,越多當然越麻煩啊,於是博主就去搜索有沒有已經集成了常用的模組的軟體呢,沒想到還真有,還不止一個,當然博主最後選擇的就是Anaconda啦(不要問為什麼,看網上評論然後感覺的)

三.Anaconda

Anaconda是什麼呢?說白了就是一個python的科學計算髮行版,包括了python和很多常見的模組(Python在Anaconda中也被當做是第三方模組), 和一個模組管理器conda及提供環境切換和管理功能。常見的科學計算類的庫都包含在裡面了,使得安裝比原生python安裝要容易,但軟體包會更大。需要給大家說的是使用Anaconda是不需要再去下載python的(若已下載安裝,可直接解除安裝,博主是這麼做的,目前還沒問題。。),後文會說明原因。

接著是安裝,額,一路預設安裝就好(安裝位置看自己)
安裝完成後開啟Anaconda Prompt(和黑框框差不多)如圖:
這裡寫圖片描述

在安裝完成後,我們處於Root環境(從”D:\Anacanda”可看出)中,意思是剛剛下載的東西全在這個環境下了,我們可以使用 conda list命令檢視已安裝的模組,如圖:
這裡寫圖片描述

到這裡大家就可像原生Python一樣去執行py檔案了。下面是一些Anaconda的使用方法

在前面我們提到Anaconda提供環境切換和管理功能,如果我們需要在新的環境下(例如現在我的root環境下python版本是3.6.2但我想使用2.7版本的)執行程式碼,可使用如下命令
conda create –name py27 python=2.7
py27是新環境名字,python=2.7是版本,執行結果如下:
這裡寫圖片描述

提示如下包會被安裝,鍵入“y”,回車,最終結果如下:
這裡寫圖片描述

此時新環境已建立成功,但我們仍處於root環境下,可使用”activate py27”命令啟用py27環境,如圖:
這裡寫圖片描述

我們現在就處於py27環境(從”py27”可看出)中了,此時我們使用conda list命令發現除在建立的時候安裝的模組並沒有其他模組(沒安裝怎麼會有嗎),這時可用”conda install”命令安裝需要的模組,其用法類似原生python的pip(conda會保證安裝的都是最新版,以避免造成前文所述的各種相容性和版本問題,給Anaconda開發者點贊。。)例如安裝numpy模組,如圖:
這裡寫圖片描述
類似的可安裝其他模組

到這裡就可以放心使用Anaconda和Python了,希望本文能夠對大家有所幫助!!!