python、anaconda、pycharm、pip、conda

Python

Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C程序設(shè)計語言。

Python的強大之處在于它的應(yīng)用領(lǐng)域范圍之廣,遍及人工智能、科學(xué)計算、Web開發(fā)、系統(tǒng)運維、大數(shù)據(jù)及云計算、金融、游戲開發(fā)等。實現(xiàn)其強大功能的前提,就是Python具有數(shù)量龐大且功能相對完善的標準庫和第三方庫。

python自身缺少numpy、matplotlib、scipy、scikit-learn....等一系列包,需要我們安裝pip來導(dǎo)入這些包才能進行相應(yīng)運算。舉例:在cmd終端輸入:pip install numpy就能安裝numpy包了。

每次都額外安裝所需要的包略麻煩,這時候我們可以采用anaconda了。anaconda是一個python發(fā)行版,包含了大量的包,使用anaconda無需再去額外安裝所需包。


anaconda

Anaconda是一個免費,開源的針對數(shù)據(jù)科學(xué)處理和機器學(xué)習(xí)相關(guān)應(yīng)用的Python和R語言的發(fā)行版。anaconda在管理包上是很方便的。anaconda是一個python發(fā)行版,使用它你就不需要額外安裝python包了。

Anaconda = 超過1000個數(shù)據(jù)包 + Conda package + virtual environment manager (即 Anaconda Navigator)。


pycharm

PyCharm是一種Python IDE,是一款開發(fā)工具。pycharm帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,比如調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制。

將anaconda中的python.exe集成到pycharm中,便可以在使用pycharm的過程中使用到所有anaconda的包了。


conda

conda是包及其依賴項和環(huán)境的管理工具。conda不會影響系統(tǒng)自帶Python。conda其實就是venv+pip的作用,也就是虛擬環(huán)境+包管理。

conda適用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。conda為Python項目而創(chuàng)造,但可適用于上述的多種語言。conda包和環(huán)境管理器包含于Anaconda的所有版本當(dāng)中。

conda用于:1.快速安裝、運行和升級包及其依賴項。2.在計算機中便捷地創(chuàng)建、保存、加載和切換環(huán)境。

conda同樣是一個環(huán)境管理器。僅需要幾條命令,你可以創(chuàng)建一個完全獨立的環(huán)境來運行不同的Python版本,同時繼續(xù)在你常規(guī)的環(huán)境中使用你常用的Python版本。

conda是一種通用包管理系統(tǒng),是想要構(gòu)建和管理任何語言的任何類型的軟件。因此,它也適用于Python包。


pip

Pip代表Pip Installs Packages,是Python的官方認可的包管理器,最常用于安裝在Python包索引(PyPI)上發(fā)布的包。pip編寫語言Python,pip僅適用于Python。

Python中默認安裝的版本:1.Python 2.7.9及后續(xù)版本:默認安裝,命令為pip。2.Python 3.4及后續(xù)版本:默認安裝,命令為pip3。

pip是Python包的通用管理器; conda是一個與語言無關(guān)的跨平臺環(huán)境管理器。pip在任何環(huán)境中安裝python包; conda安裝在conda環(huán)境中裝任何包。


virtualenv

用于創(chuàng)建一個獨立的Python環(huán)境的工具。

virtualenv會為它自己的安裝目錄創(chuàng)建一個環(huán)境,這并不與其他virtualenv環(huán)境共享庫;同時也可以選擇性地不連接已安裝的全局庫。

舉例:當(dāng)一個程序需要使用Python 2.7版本,而另一個程序需要使用Python 3.6版本,如何同時使用這兩個程序?

conda結(jié)合了pip和virtualenv的功能。


conda命令

1.conda --version( 驗證conda已被安裝)

2.conda update conda(更新conda至最新版本)

3.rm -rf ~/anaconda3(卸載conda,刪除anaconda安裝目錄)

4.conda create --name <env_name> <package_names> (創(chuàng)建新環(huán)境)

(新創(chuàng)建的環(huán)境將會被保存在/Users/<user_name>/anaconda3/env目錄下。舉例:conda create --name python2 python=2.7,即創(chuàng)建一個名為“python2”的環(huán)境,環(huán)境中安裝版本為2.7的python。conda create -n python3 python=3.5 numpy pandas,即創(chuàng)建一個名為“python3”的環(huán)境,環(huán)境中安裝版本為3.5的python,同時也安裝了numpy和pandas。如果創(chuàng)建環(huán)境后安裝Python時沒有指定Python的版本,那么將會安裝與Anaconda版本相同的Python版本)

5.conda activate <env_name> (切換環(huán)境)

6.conda create --name <new_env_name> --clone <copied_env_name> (復(fù)制環(huán)境)

7.conda remove --name <env_name> --all (刪除環(huán)境)

8.conda install --name <env_name> <package_name>? (在指定環(huán)境安裝包)

9.conda install <package_name>? (在當(dāng)前環(huán)境安裝包)當(dāng)使用conda install無法進行安裝時,可以考慮從Anaconda.org中獲取安裝包的命令,并進行安裝。

10.conda remove --name <env_name> <package_name> (卸載指定環(huán)境的包)

11.conda remove <package_name>? (卸載當(dāng)前環(huán)境的包)

12.conda list -n <env_name>? (查看指定環(huán)境下已安裝包列表)

13.conda list(查看當(dāng)前環(huán)境下已安裝包列表)


conda install和pip install

補充:conda install <package_name>? (在當(dāng)前環(huán)境安裝包)

pip也可安裝包:pip install <package_name>

但pip只是包管理器,無法對環(huán)境進行管理。因此如果想在指定環(huán)境中使用pip進行安裝包,則需要先切換到指定環(huán)境中,再使用pip命令安裝包。當(dāng)前環(huán)境下安裝包會使用當(dāng)前環(huán)境下pip進行安裝。這里環(huán)境指的是conda create的環(huán)境。

conda 安裝包路徑是 xxxxx\Anaconda3\pkgs

pip 安裝包路徑在虛擬環(huán)境下是 xxxx\Anaconda3\envs\<env_name>\Lib\site-packages

如果使用conda install 多個環(huán)境時,對于同一個包只需要安裝一次。有conda集中管理。但是如果使用pip因為每個環(huán)境安裝使用的pip在不同的路徑下,故會重復(fù)安裝,而包會從緩存中取。

conda列出所需其他依賴包。安裝包時自動安裝其依賴項??梢员憬莸卦诎牟煌姹局凶杂汕袚Q。pip不一定會展示所需其他依賴包。安裝包時或許會直接忽略依賴項而安裝,僅在結(jié)果中提示錯誤。


pycharm 使用anaconda中的虛擬環(huán)境

Anaconda是專注于數(shù)據(jù)分析的Python發(fā)行版本,包含了conda、Python等190多個科學(xué)包及其依賴項。不僅可以方便地安裝、更新、卸載工具包,而且安裝時能自動安裝相應(yīng)的依賴包,同時還能使用不同的虛擬環(huán)境隔離不同要求的項目。Anaconda致力于簡化包管理和部署。Anaconda的包使用軟件包管理系統(tǒng)conda進行管理。

有時候大面積的工程開發(fā)還是需要使用到pycharm。

Ubuntu中pycharm中如何使用Anaconda中的虛擬環(huán)境呢?1.先安裝Anaconda和Pycharm。2.然后在Pycharm 導(dǎo)入 Anaconda 的python環(huán)境。

具體導(dǎo)入步驟如下:1.打開pycharm,File->settings->project:()->Project Interpreter。2.點擊右上角的小齒輪,點擊彈出來的Add Python Interpreter。3.左側(cè)邊欄中選擇Conda Environment,右側(cè)選擇下邊的Existing environment,然后選擇Interpreter。4.找到Anaconda 下Python安裝位置。base環(huán)境下的python路徑類似 Anconda3/bin/python3。python 的其他版本,自己安裝的版本路徑都在 Anaconda3/envs/目錄下,類似 Anaconda3/ envs/<envs>/bin/python3??梢钥吹紸naconda已經(jīng)自帶了很多模塊,不必再一個個pip安裝了。


總結(jié)

python是一種應(yīng)用領(lǐng)域廣泛的編程語言,但python自身缺少numpy、matplotlib、scipy、scikit-learn....等一系列包,需要我們安裝pip來導(dǎo)入這些包才能進行相應(yīng)運算。

anaconda是一個免費開源的python和r語言的發(fā)行版本,用于計算科學(xué)(數(shù)據(jù)科學(xué)、機器學(xué)習(xí)、大數(shù)據(jù)處理和預(yù)測分析),致力于簡化包管理和部署,包含有conda在內(nèi)的各種包。anaconda的包使用軟件包管理系統(tǒng)conda進行管理。Anaconda的數(shù)據(jù)包和和安裝包都很大,Miniconda是最小的conda安裝環(huán)境,相當(dāng)于conda+python+pip,輕量級。miniconda就是只包含conda和conda的依賴,對于其他包,可以用conda裝。

conda是包及其依賴項和環(huán)境的管理工具。conda是anaconda下面的一個包。

pip是python包下載管理工具,conda的話不僅是python 包下載管理工具,還可以下載其他語言的包(比如R語言),當(dāng)然conda和pip是可以一起用的。

pycharm是一款Python編輯器,pycharm帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具。將anaconda中的python.exe集成到pycharm中,便可以在使用pycharm的過程中使用到所有anaconda的包了。


復(fù)制環(huán)境anaconda

http://www.itdecent.cn/p/266d80c25c71

一,在本機上,直接使用conda create -n new_env --clone old_env復(fù)制既有環(huán)境

二,如果要復(fù)制到其他機器,就要考慮導(dǎo)出當(dāng)前環(huán)境到文件,利用文件再次創(chuàng)建環(huán)境

1) 導(dǎo)出環(huán)境

conda env export > ~/env.yaml

利用conda env export 導(dǎo)出的是個yaml格式的文件,該文件記錄了環(huán)境名,軟件源地址以及安裝包列表

2) 使用yaml配置文件創(chuàng)建新環(huán)境

conda env create -f ~/env.yaml


參考資料:

http://www.itdecent.cn/p/62f155eb6ac5

https://mynam3.xyz/2019/07/24/Ubuntu18-04-數(shù)據(jù)分析與挖掘-Anaconda-Pycharm-環(huán)境配置/

https://blog.csdn.net/ytusdc/article/details/85122892

https://blog.csdn.net/persistinlife/article/details/89298094

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容