1. 程式人生 > >再扯python模組路徑設定(寫著寫著就成了Mac的Anaconda使用說明)

再扯python模組路徑設定(寫著寫著就成了Mac的Anaconda使用說明)

是這樣的,我又下載了Anaconda,以前的controlCV大法不管用了,想舒舒服服的import就必須搞明白這該死的模組應該放在哪裡

Anaconda的簡要介紹

  • 那就先查查Anaconda到底是什麼

致Python初學者:Anaconda入門使用指南
啥是Anaconda呢?

Anaconda是專注於資料分析的Python發行版本,包含了conda、Python等190多個科學包及其依賴項。

這裡麵包括了conda這個管理系統

conda 是開源包(packages)和虛擬環境(environment)的管理系統。
packages 管理: 可以使用 conda 來安裝、更新 、解除安裝工具包 ,並且它更關注於資料科學相關的工具包。在安裝 anaconda 時就預先集成了像 Numpy、Scipy、 pandas、Scikit-learn 這些在資料分析中常用的包。另外值得一提的是,conda 並不僅僅管理Python的工具包,它也能安裝非python的包。比如在新版的 Anaconda 中就可以安裝R語言的整合開發環境 Rstudio。
虛擬環境管理: 在conda中可以建立多個虛擬環境,用於隔離不同專案所需的不同版本的工具包,以防止版本上的衝突。對糾結於 Python 版本的同學們,我們也可以建立 Python2 和 Python3 兩個環境,來分別執行不同版本的 Python 程式碼。

這可是個好東西啊,各種亂七八糟的工具包和python版本不正是我們最頭疼的事情嗎,這個一下子就解決了!

  • Anaconda怎麼用

Anaconda官網下載Anaconda的mac版本,安裝
然後在啟動臺多出來了一個圖示:Anaconda Navigtor
他們還做了個使用者介面,真是貼心
開啟一看,home頁長成這個樣子
在這裡插入圖片描述
上面的四個程式已經安裝好了,看起來還是互相依賴的
那就先一個一個開啟看看是幹啥的

第一個開啟後進入了web頁面,在裡面我找到了使用說明
我還找到了這個:譯介:JupyterLab 已為使用者準備就緒
通過簡單的瀏覽,發現JupyterLab就是Jupyter Notebook的進階版本,小到我現在編寫的Markdown文字,大到互動式探索性計算,它都搞得定
最值得吹噓的是它的個性化擴充套件以及對之前版本的支援

JupyterLab是一個互動式的開發環境,其用於應對包含著notebook、程式碼以及資料的工作場景。最為重要的是,JupyterLab對於Jupyter Notebook有著完全的支援。除此之外,JupyterLab讓您能夠使用文字編輯器、終端、資料檔案檢視器以及其他自定義的內容。他們都將以標籤的形式肩並肩地和notebook一起排列在工作區中。

(估計要學會使用這東西需要漫長的時間)
第二個和第一個差不多,略略略
第三個點開發現是類似終端的程式
看到Qt兩個字母和它簡要的介紹我就能蒙出來它是幹啥的了
它既有IPython的特性,具有強大的互動功能,又能顯示圖形
最後那個就是個整合開發環境


看了上面的四個軟體,發現Anaconda功能真的很強大(儘管那四個和它沒啥關係)

  • Anaconda是怎麼管理Python包的?
    先把咒語列個表
命令 解釋
conda install package_name 安裝
conda remove package_name 移除
conda update package_name 升級
conda upgrade --all 將所有工具包升級
conda list 檢視所有下載的包

這些都是老生常談了
實際上,在安裝Anaconda的時候,它自動為您安裝了許多常用的包,您可以conda list檢視一下

  • Anaconda是怎麼管理Python環境的?

所謂環境,在我看來其實就是將這個程式用到的工具包和python的直譯器打個包
讓我們再看一些命令

命令 解釋
conda create -n xx python=xx xx 建立一個新的環境,xx分別代表環境名,python版本,包含的工具包

有這個選定python版本的功能,媽媽再也不用擔心我電腦python和工具包版本不相容啦
同時conda有一個很人性化的功能,就是當您的環境包含了某個後,它會自動為您將這個包的依賴包也新增到環境中

命令 解釋
source activate env_name 進入名為env_name的環境
source deactivate 退出環境
conda env remove -n env_name 刪除環境
conda env list 檢視所有的環境

同時,還存在一個很現實的問題,就是如何保證您電腦上的python程式碼能在別人電腦上執行
這就是環境的作用了,我們為某個特定的程式建立一個新的環境,這個環境僅包含該程式用到的工具包,而不是您電腦上所有的包,這樣即方便打包又縮小了整個程式的體積
同時它還可以做到環境的共享,具體的命令是這樣的

命令 解釋
conda env export > name.yaml 當前環境資訊存入YAML 檔案中
conda env create -f name.yaml 通過YAML檔案建立一個環境

這樣,當您和您的朋友電腦上都安裝了Anaconda時,就可以使用這種方法複製環境了
以上,我們就簡單的介紹了Anaconda的使用

等等,似乎跑題了,我本來是想研究一下python模組路徑的(嚇的我立刻去改了標題)
那我接著補坑

python工具包路徑設定

既然Anaconda就是用來管理安裝包的,讓我們先來看一看它放置在哪裡
這裡有一份windows下的Aanaconda的介紹:Anaconda完全入門指南
然而mac和Windows的差別還是挺大的,只能自己摸索了
其實我有一個很偷懶的辦法,就是用Anaconda自帶的整合開發環境,我想那樣import就不會出現任何問題
但我要是還想用我的pycharm呢?
mac下的pycharm介面和windows的不太一樣
我們依次點選File->Preferences of New Projects->Project Interpreter
在這裡插入圖片描述
也就是這樣的介面
然後我們點選右上角的小齒輪,點選add,點選新出現的Conda Environment
給環境取個名字,再在右下角點選ok,這樣接下來我們建立的python程式就都由Anaconda解釋了
然而,我還是高興的太早了,當我from PIL import Image時,pycharm依舊顯示找不到PIL
原來,我們剛才建立了一個conda下的環境,卻沒有將工具包導進去
我們開啟Aanaconda Navigtor ,在首頁開啟Environments,在這裡就能看到我們新建的環境
我給我新建的環境取名為python37,開啟之後發現裡面預設安裝17個工具包,將選擇欄中的installed改為all,就可以看到所有的工具包了,搜尋需要的工具包點選apply,就可以完成在對應的環境下載工具包
最後別忘了回到pycharm去apply我們的設定

還有一個問題,如果我們不想單獨建立一個環境而是想隨便用Aanaconda的全部工具包呢?
我們還是進入Project Interpreter介面,點選右上角的小齒輪
但這次我們不進入Conda Environment,而是System Interpreter
設定路徑如下,再點選ok和apply就好了

還有一個小問題,是最後apply的時候可能顯示“Cannot Save Setting”
那是因為您之前設定的環境名和新的環境名重名了,這時只要檢視Project Interpreter然後點選show all把不用的環境都刪除就可以了

更新:
我悲劇的發現pycharm新建的python專案會預設新建一個環境,這個環境裡啥有用的都沒有,這個時候我們可以在Project Interpreter介面把新建的環境刪掉
然後pycharm會顯示沒有Interpreter,然後讓我們重新選擇一個,這時候我們選上之前add的環境就OK了