當在pycharm IDE中指定不同的Python版本時,設置方法
File->Setting->Project:XXXX->Project Interpreter 選擇不同位置的Python即可
純凈Python共存
說是純凈,其實也不完全“純凈”,這里需要用到另外一個發行版miniconda,它僅包含Python本身和Conda包管理器,因此體積不大。
Anaconda中(Python2和Python3)的切換
1.先選擇一個主要用的版本,我選的是Python2,先安裝好Anaconda(py2)。
2. 安裝conda, 確認安裝了conda, 在終端輸入conda create -n py3 python=3 安裝Python3。用“conda list” 可以查看已經安裝的包列表。
3.然后,在py3下安裝Spyder,“conda install -n py3 spyder”, “py3”為我設置的第二環境
4. 再安裝jupyter, "conda install -n py3 jupyter"
5. 一般要運行Spyder或者jupyter,只需要在終端輸入'spyder' or 'jupyter notebook'即可運行.默認情況下是調用的py2的版本。
6.如果Spyder/jupyter運行時要切換Python3。首先在終端輸入:source activate py3,win系統不需要source,待前面出現[py3]之后,再輸入spyder/ jupyter notebook, 回車就行了;
但是ipython console不能運行,有報錯提示: ImportError: cannot import name 'quick_guide',
File "C:\...\lib\site-packages\spyder\widgets\ipythonconsole\shell.py", line 91, in long_banner
from IPython.core.usage import quick_guide
ImportError: cannot import name 'quick_guide'
解決方案:
到出錯文件中更改:change quick_guide to quick_reference, 重啟即可。
7.如要切換回py2, 運行source deactivate py3, 重新輸入spyder等命令即可。
references:
http://blog.csdn.NET/infin1te/article/details/50445217
http://www.cnblogs.com/harvey888/p/5465452.html
http://blog.csdn.net/vincentluo91/article/details/70826859
conda查找和安裝模塊:
默認找不到:conda install jieba
查找模塊:anaconda search -t conda jieba
查看信處:anaconda show condo-forge/jieba
安裝:conda install -c conda-forge jieba
或者:conda install --channel https://conda.anaconda.org/conda-forge jieba
Windows下Anaconda2(Python2)和Anaconda3(Python3)的共存
Anaconda是一個Python的科學計算發行版,包含了超過300個流行的用於科學、數學、工程和數據分析的Python Packages。由於Python有2和3兩個版本,因此Anaconda也在Python2和Python3的基礎上推出了兩個發行版,即Anaconda2和Anaconda3。
有時候我們會在電腦上同時使用Anaconda2和Anaconda3兩個版本,因此有必要考慮它們的共存問題。一般的使用場景是以其中一個版本為主,另外一個版本為輔,因此只需要達到能方便的切換到備用版本,且備用版本的pip等命令能正常使用即可。
由於Anaconda2和Anaconda3包含較多的模塊,很多人是不需要這些的,因此若只想要較為純凈的Python2和Python3共存的,可以看本文最后一部分。
操作步驟
-
首先安裝主版本,在這里我們選擇Anaconda2,按照正常步驟安裝即可,這里假定安裝目錄為
D:\Anaconda2
。 -
在這一步打上那兩個勾。
第一個選項是將安裝目錄加入到系統的PATH環境變量中,以后在CMD中便可以直接用python命令啟動python。
第二個選項是讓其他IDE能夠檢測到Anaconda2並將Anaconda2作為默認的Python 2.7。 -
安裝好Anaconda2之后,再安裝Anaconda3,這里Anaconda3的安裝目錄必須選在D:\Anaconda2\envs子目錄下,如圖所示,最后的”py3”可以自己另取。
-
這里取消掉那兩個勾。
-
安裝完成之后,在CMD里面直接輸入
python
會啟動Python2,而activate py3
之后,再python
即可切換至Python3。使用deactivate
命令可取消激活Python3。
總結
本文的共存實現方法其實是基於conda的創建虛擬環境的功能,詳情可見此鏈接。
因此在首先安裝主要版本之后,也可使用conda create -n py3 python=3
命令來安裝Python3,但由於網絡問題,這種方法容易失敗,所以自己先下載好完整安裝包,然后安裝到主版本主目錄下的envs
文件夾更方便。
有人也許會說直接同時安裝Anaconda2和Anaconda3,然后將Anaconda3目錄下的python.exe改為python3.exe也可實現類似的共存。但這種方法存在一個較大的缺陷,即Anaconda3內包含的某些IDE會工作不正常,如Jupyter Notebook和Spyder等,因為他們依賴於安裝目錄下的python.exe,且備用版本的pip
等命令也沒辦法直接使用,總體來說很不方便。
Conda python2 與 python3 共存及切換,以及包管理
Install a different version of Python
conda create --name py2 python=2
Verify environment added
conda info --envs
Use a different version of Python
-Linux, OS X:
source activate py2
-Windows:
activate py2
Deactivate this environment
-Linux, OS X:
source deactivate
-Windows:
deactivate
Verify current environment
conda info --envs
# conda environments:
#
py2 * D:\Anaconda3\envs\py2
root D:\Anaconda3
Verify Python version in new environment
python --version
Update * to the current version
conda update *
remove package *
conda remove *
Change jupyter notebook environment
1.open Anaconda
2.change Application on: py2
3.install jupyter notebook
anaconda中python的升級和降級
1.打開anaconda navigator
2. 最左側邊欄選擇Environments,搜索python並找到python,查看紅框處python版本(我的已經降級為3.5,新安裝的情況下會看到的是3.6)
3. 左鍵點擊python前方綠色箭頭(紅框處),選擇Mark for specific version installation,選擇對應的python
版本(3.5)
4. 等待安裝完成后(時間有點長,res改成中國的話可以得到改善),運行下python並檢查下版本是否已經降級到了3.5
如何安全的卸載Python Anaconda?
問題詳細描述
我之前在Mac(OS Mavericks)上安裝了Python Anaconda,現在我想恢復到Mac上默認版本的Python。最好的方式是做什么?我應該刪除〜/anaconda目錄嗎?是否需要其他更改?
目前我運行 which python
我得到下面的這個路徑:
/Users/username/anaconda/bin/python
最佳解決方法
anaconda安裝程序在~/.bash_profile
腳本中新添加了一行,將anaconda bin目錄添加到了$PATH
環境變量中。所以你只需要刪除anaconda目錄,但是最好也從您的安裝腳本中刪除此行。
次佳解決方法
參考文檔:
要卸載Anaconda,先打開終端窗口並刪除整個anaconda安裝目錄:
rm -rf〜/ anaconda
。
然后您要編輯〜/ .bash_profile
並從PATH環境變量中刪除anaconda目錄,並使用rm -rf ~/.condarc ~/.conda ~/.continuum
刪除可能在主目錄中創建的隱藏的.condarc
文件和.conda
以及.continuum
目錄
第三種解決方案
刪除Anaconda目錄有用,但我不認為這是一個好主意,因為您可能需要在不久的將來再次使用anaconda。根據mwaskom的建議,anaconda安裝程序將自動添加PATH變量,該變量指向~/.bashrc
文件中的anaconda/bin
目錄。
它看起來是這樣的
所以,只是注釋掉行(添加
PATH="/home/linuxsagar/anaconda3/bin:$PATH,#
在行的開頭)。然后通過執行$source ~/.bashrc重新加載
~/.bashrc
文件
最好,在新終端中執行$which python來驗證一下更改是否有效
。
第四種方案
rm -rf〜/anaconda
相當簡單,參考:https://docs.continuum.io/anaconda/install#os-x-uninstall
第五種方案
軟件包"anaconda clean"(可從Anaconda平台獲得),需要安全卸載。
conda install anaconda-clean # install the package anaconda clean anaconda-clean --yes # clean all anaconda related files and directories rm -rf ~/anaconda3 # removes the entire anaconda directory rm -rf ~/.anaconda_backup # anaconda clean creates a back_up of files/dirs, remove it # (conda list; cmd shouldn't respond after the clean up)
有關詳細信息,請參閱https://docs.continuum.io/anaconda/install#uninstall-anaconda。
第六種方案
如果要卸載Anaconda以便能夠在系統中使用默認的Python,則可以按照以下步驟臨時禁用該路徑,而不是卸載Anaconda。
轉到你的主目錄。只需一個cd
命令即可。
編輯文件.bashrc
。
在文件中查找類似export PATH="/home/ubuntu/anaconda3/bin:$PATH"
的內容。
在開始時放置一個#
來從腳本中注釋它。
#export PATH="/home/ubuntu/anaconda3/bin:$PATH"
打開一個新的終端,就可以運行基本的python了。這適用於Linux系統,在Mac上也應該有效。
Anaconda、Miniconda、Conda、pip的相互關系
Anaconda、Miniconda、Conda、pip的相互關系。如果你想要跳過這篇文章,並得到討論的要點,你可以閱讀每個標題以及下面的摘要。
認為#1:Conda是一個發行版,不是一個軟件包管理器
現實:Conda是一個包管理器;Anaconda是一個發行包。雖然Conda與Anaconda一起包裝,但兩者是具有不同目標的不同實體。
軟件發布包是預先構建和預配置的包的集合,其可以在系統上安裝和使用。包管理器是自動化安裝,更新和刪除包的過程的工具。 Conda,其“conda install”,“conda update”和“conda remove”子命令,完全屬於第二個定義:它是一個包管理器。
也許這里的混亂來自於Conda緊密耦合到兩個軟件分發:Anaconda和Miniconda的事實。 Anaconda軟件在PyData生態系統中的完整分布,包括Python本身以及幾百個第三方開源項目的二進制文件。 Miniconda本質上是一個conda環境的安裝程序,只包含Conda及其依賴項,以便您可以從頭開始安裝所需的。
但不要弄錯誤:Conda與Anaconda / Miniconda不同,Python本身(如果你願意)可以自行安裝。
認為#2:Conda是一個Python包管理器
現實:Conda是一種通用包管理系統,旨在構建和管理任何語言的任何類型的軟件。因此,它也適用於Python包。
因為conda來自於Python(更具體地說是PyData)社區,許多人錯誤地認為它基本上是一個Python包管理器。情況並非如此:conda旨在管理任何軟件堆棧中的包和依賴關系。在這個意義上,它不像pip,更像是apt或yum等跨平台版本。
如果你使用conda,你已經可以利用許多非Python包;以下命令將列出您環境中的那些:
$ conda search –canonical | grep -v ‘py\d\d’
在我的系統上,有350個結果:這些是我的Conda / Python環境中的包,這些包基本上是由Python-only工具(如pip和virtualenv)無法管理的。
認為#3:Conda和pip是直接競爭對手
現實:Conda和pip服務於不同的目的,並且只在一小部分任務中直接競爭:即在孤立的環境中安裝Python包。
Pip代表Pip Installs Packages,是Python的官方認可的包管理器,最常用於安裝在Python包索引(PyPI)上發布的包。 pip和PyPI都由Python包裝管理局(PyPA)管理和支持。
簡而言之,pip是Python包的通用管理器; conda是一個與語言無關的跨平台環境管理器。對於用戶,最顯着的區別可能是這樣的:pip在任何環境中安裝python包; conda安裝在conda環境中的任何包裝。如果你正在做的是在孤立的環境中安裝Python包,conda和pip + virtualenv大多是可互換的,模數依賴處理和包可用性的一些差異。通過隔離環境(conda-env或virtualenv),您可以在其中安裝軟件包,而無需修改您的系統Python安裝。
即使放棄認為#2,如果我們專注於只是安裝Python包,conda和pip服務不同的受眾和不同的目的。 如果你想在現有的系統Python安裝中管理Python包,conda不能幫助你:通過設計,它只能在conda環境中安裝包。 如果你想說,使用依賴於外部依賴的許多Python包(NumPy,SciPy和Matplotlib是常見的例子),同時以一種有意義的方式跟蹤這些依賴,pip不能幫助你:它 管理Python包和只有Python包。
Conda和pip不是競爭對手,而是側重於不同用戶組和使用模式的工具。
認為#4:在第一個地方創造conda是不負責任和分裂
現實:Conda的創作者將Python的標准包裝推向了極限十多年,並且只有在明確了它是唯一合理的前進道路時才創造了第二個工具。
根據Python的哲學,在Python做任何事情“應該有一個,最好只有一個明顯的方式來做”。那么為什么conda的創建者會通過引入一種新的方式來安裝Python包呢?為什么他們沒有貢獻回Python社區並改進pip來克服它的缺陷?
事實證明,這正是他們所做的。在2012年之前,PyData / SciPy生態系統的開發人員很大程度上在Python社區開發的包管理解決方案的約束下工作。早在2001年,NumPy項目就試圖使它處理NumPy分布的復雜要求。他們將大部分的NETLIB綁定到一個單一的Python包(你可能知道這是SciPy),實際上創建一個分發為python包,以規避Python的分發工具不能用任何有意義的方式管理這些額外的Python依賴。為了閱讀一些關於這些痛點的細節以及如何導致Conda,我建議Travis Oliphant的2013年博客文章。
但是為什么Conda的創作者不和Python包裝人員談談,一起找出這些挑戰呢?事實證明,他們談了。
Conda的創始來自Guido van Rossum先生在2012年首屆PyData聚會上發表演講;在一個關於包裝困難的問題上,他告訴我們,當談到包裝,“真的聽起來像你的需求是相當大的Python社區,你只是更好地建立自己的”的討論)。即使在遵循這個來自BDFL的建議的情況下,PyData社區繼續與核心Python開發人員的對話和協作的主題:另一個公開的例子是CPython核心開發人員Nick Coghlan邀請在SciPy 2014主題演講(見視頻here )。他做了一個很好的演講,在軟件分發的“未解決問題”的背景下具體討論了pip和conda,並提到了具有適合特定用戶需求的多種分發方式的價值。
Conda不是分裂的,Nick和其他人在Python包裝管理局正式認可conda作為Python代碼的許多重要的重新分發器之一,並且正在努力更好地使這些工具與Python包索引無縫地工作。
認為#5:conda不能使用virtualenv,所以它對我的工作流沒有用
現實:你實際上可以在一個virtualenv中安裝(一些)conda包,但更好的是使用Conda自己的環境管理器:它與pip完全兼容,並且比virtualenv有幾個優點。
virtualenv / venv是允許用戶創建與pip一起使用的隔離的Python環境的實用程序。 Conda有自己的內置環境管理器,可以與conda和pip無縫工作,並且事實上比virtualenv / venv有幾個優點:
conda環境集成了不同Python版本的管理,包括Python本身的安裝和更新。 Virtualenvs必須在現有的,外部管理的Python可執行文件上創建。
conda環境可以跟蹤非python依賴;例如無縫管理依賴性和基本工具(如LAPACK或OpenSSL)的並行版本
而不是構建在符號鏈接上的環境 - 這破壞了virtualenv的隔離,並且對於非Python依賴關系有時可能是脆弱的 - conda-envs是單個可執行路徑中的真正隔離環境。
雖然virtualenvs與conda軟件包不兼容,但conda環境與pip軟件包完全兼容。第一個conda安裝pip,然后你可以pip安裝任何可用的包在那個環境中。您甚至可以在conda環境文件中顯式地列出pip包,這意味着完整的軟件堆棧可以從單個環境元數據文件完全重現。
也就是說,如果你想在你的virtualenv中使用conda,它是可能的:
$ virtualenv test_conda
$ source test conda/bin/activate
$ pip install conda
$ conda install numpy
這將在您的virtualenv中安裝conda的MKL啟用的NumPy包。 我不會推薦這個:我找不到這個功能的文檔,並且結果似乎相當脆弱 - 例如,試圖conda更新python內的virtualenv失敗在一個非常不起眼和不可恢復的方式,看起來與 符合連接virtualenv的架構。 這似乎不是conda和virtualenv之間的一些根本不兼容,而是與構建過程中的一些細微不一致有關,因此是潛在可固定的(例如,參見conda Issue 1367和anaconda Issue 498)。
如果你想避免這些困難,一個更好的想法是pip安裝conda,然后創建一個新的conda環境中安裝conda包。 對於習慣於使用pip / virtualenv / venv命令語法的人來說,conda文檔包括conda和pip / virtualenv命令之間的轉換表。
認為#6:現在pip使用wheels,conda不再需要
現實:wheels只是提出conda發展的許多挑戰之一,而wheels有弱點,Conda的二進制文件解決。
驅動Conda創建的一個困難是,pip可以只分發源代碼,而不是預編譯的二進制分發,這對於構建諸如NumPy和SciPy的擴展重模塊的用戶來說尤其具有挑戰性。 Conda以自己的方式解決了這個問題后,pip本身增加了對輪子的支持,這是一個二進制格式,旨在解決pip中的這個難題。有了這個問題在共同的工具,解決Conda早期采納者現在應該回到pip?
不必要。跨平台二進制文件的分發只是conda中解決的許多問題之一。編譯的二進制文件聚焦了conda的另一個重要部分:有意義地跟蹤非Python依賴關系的能力。因為pip的依賴關系跟蹤只限於Python包,所以在輪子中這樣做的主要方法是將發布的依賴包版本與Python包二進制包捆綁在一起,這使得更新這樣的依賴很痛苦(最近OpenSSL的安全更新)。此外,conda包括一個真正的依賴解析器,一個pip目前缺乏的組件。
對於科學用戶,conda還允許將構建鏈接到優化的線性代數庫,Continuum使用其自由提供的MKL啟用的NumPy / SciPy。 Conda甚至可以分發非Python構建需求,例如gcc,這大大簡化了在其分發的預編譯二進制代碼上構建其他包的過程。如果你試圖使用pip的輪子,你最好希望你的系統有編譯器和設置兼容那些用來最初構建的問題的車輪。
認為#7:conda不開源;它被綁定到一個營利公司,可以開始收取服務,只要他們想要
現實:conda(包管理器和構建系統)是100%開源,Anaconda(發行版)也幾乎在那里。
在開放源代碼世界中,有一些對營利性實體的根本不信任,而Anaconda是由Continuum Analytics創建的,而且是大型企業產品的一個免費組件,這使得一些人擔心。
讓我們拋開一個事實,Continuum是,在我看來,是少數幾家公司真正做開放軟件正確的方式(一個話題另一個時間)。忽略這一點,事實是,Conda本身 - 包管理器,提供以跨平台方式構建,分發,安裝,更新和管理軟件的實用程序 - 是100%開源,可在GitHub和BSD許可。即使對於Anaconda(發行版),EULA只是一個標准的BSD許可證,用於創建Anaconda的工具鏈也是100%開源。總之,當使用Conda時,沒有必要擔心知識產權問題。
如果Anaconda / Miniconda發行版仍然擔心,放心:你不需要安裝Anaconda或Miniconda來獲得conda,雖然這些是方便的使用途徑。正如我們上面所看到的,你可以“pip install conda”通過PyPI安裝它,而無需Continuum的網站。
認為#8:但Conda包本身是封閉的,對不對?
現實:雖然conda的默認渠道尚未完全開放,有一個由社區主導的努力(Conda-Forge)使conda包裝和分銷完全開放。
從歷史上看,默認conda通道的軟件包構建過程沒有盡可能開放,並且獲取構建更新的過程主要依賴於在Continuum上知道某人。謠言是,這主要是因為原始的conda包創建過程沒有像今天一樣明確和精簡。
但這正在改變。 Continuum正在努力打開他們的包裝食譜,並且我被告知,500多個包裝中只有幾十個仍然需要移植。這些少數食譜是Anaconda分布中唯一不完全開放的剩余部分。
如果這還不夠,那么在2016年初推出的一個新的以社區為主導的項目,而不是Continuum附屬項目,名為conda-forge,包含用於為任何軟件包創建社區驅動的構建的工具。軟件包通過github保持開放狀態,二進制文件使用免費CI工具自動構建,如TravisCI for Mac OSX構建,AppVeyor for Windows構建和CircleCI for Linux構建。每個包的所有元數據都位於Github存儲庫中,並且通過合並Github pull請求(這是conda-forge中包更新的示例)完成包更新。
Conda-forge完全是社區為基礎的,由社區主導,雖然conda-forge可能還不夠成熟,無法完全替代默認的conda渠道,Continuum的創始人已經公開表示,這是他們會支持的方向。你可以在Wes McKinney的最近的博客文章,conda-forge和PyData的CentOS時期更多地了解conda-forge的承諾。
認為#9:好的,但如果Continuum Analytics不折騰了,conda不會再工作了嗎?
現實:沒有,Conda本質上,Continuum Analytics公司通過提供免費托管構建工件為社區服務。所有軟件分發都需要由某人,甚至PyPI托管。
的確,即使是conda-forge也將其軟件包發布到http://anaconda.org/,這是一個由Continuum Analytics擁有和維護的網站。但在Conda沒有什么需要這個網站。事實上,conda中的自定義渠道的創建是有詳細記錄的,沒有什么可阻止某人建立和托管自己的私人分布使用Conda作為包管理器(conda索引是相關的命令)。考慮到conda食譜的開放性和構建系統conda-forge,如果你有理由這樣做不會很難反映你自己的服務器上的所有conda-forge。
如果你仍然擔心Continuum Analytics - 一個營利公司 - 通過托管conda包為社區服務,你應該也同樣擔心Rackspace - 一個盈利的公司 - 通過托管Python包索引服務社區。在這兩種情況下,一個營利性公司都是社區包裹管理系統目前表現形式的一部分。但在任何情況下,該公司的滅亡都會威脅到構建和分發系統的底層架構,這是完全自由和開源的。如果Rackspace或Continuum消失,社區只需為其依賴的開放式分配找到另一個主機和/或財務贊助者。
認為#10:每個人都應該放棄(conda | pip)和使用(pip | conda)!
現實:pip和conda服務於不同的需求,我們應該更少關注他們如何競爭,更多地關注他們如何一起工作。
正如在神話#2中提到的,Conda和pip是不同的項目,不同的目標讀者:pip在任何環境中安裝python包; conda安裝在conda環境中的任何包裝。考慮到在Python的禪意中提出的崇高理想,人們可能希望pip和conda可以以某種方式組合,所以將有一個而且只有一個明顯的方式安裝包。
但這永遠不會發生。這兩個項目的目標太不同了。除非pip項目被廣泛地重新定義,否則它永遠不能有意義地安裝和跟蹤conda所做的所有非Python包:該架構是Python特定的(正確)以Python為重點。 Pip與PyPI一起旨在成為一個靈活的出版物和分發平台以及Python軟件包的管理器,並且它的表現非常出色。
同樣,除非conda包被廣泛重新定義,它將永遠不會取代pip / PyPI作為Python代碼的一般發布和分發平台。在其核心,conda關注在多個平台上健壯地運行復雜的多語言軟件棧所需的詳細依賴關系跟蹤類型。 conda的存儲庫中的每個安裝工件都綁定到一個確切的依賴鏈:通過設計,它不會允許你替換Jython for Python給定的包。你當然可以使用conda來構建一個Jython軟件棧,但是每個包都需要一個新的特定於Jython的安裝工件 - 這就是為了保持conda用戶所依賴的嚴格依賴鏈所需要的。 Pip在這里更靈活,但一旦成本是它無法精確定義和解決依賴關系conda。
最后,對pip和conda的關注完全錯過了大量的Python代碼的目的設計的重新分配器。從平台特定的軟件包管理器,如apt,yum,macports和homebrew到像bento,buildout,hashdist和spack這樣的跨平台工具,有很多特定的包裝解決方案,旨在安裝Python(和其他)特定用戶。對於我們來說,像Python包裝管理局那樣,不是作為pip / PyPI的競爭對手,而是作為下游工具,可以利用所有開發和維護pip,PyPI的所有人的英勇努力,這將是更有成果的,和相關工具鏈。
到哪里去?
因此,似乎我們剩下兩種不同的包裝解決方案,但是對於許多Python用戶來說,它們具有廣泛的重疊(即在隔離環境中安裝Python包時)。那么社會應該從這里走?我認為我們可以做的主要事情是確保項目(1)盡可能一起工作,和(2)相互學習有點。
Conda
如上所述,conda已經有一個完全打開的工具鏈,並且處於一個穩定的趨勢,完全開放的包(但不完全在那里)。一個明顯的方向是通過conda-forge推進社區發展和維護conda堆棧,或許最終使用它來代替conda當前的默認通道。
在我們推進這一點時,我相信,conda和conda-forge社區可以從模仿Python包裝管理局的明確和開放的治理模式中受益。例如,PyPA有一個開放的治理模式,明確的目標,新的發展和功能的清晰的路線圖,以及明確的溝通和討論的渠道,以及從根本上社區監督完整的pip / PyPI系統。
另一方面,對於conda和conda-forge,代碼(以及很快所有的配方)是開放的,但是系統的治理和控制模型遠不夠明確。鑒於conda的重要性,特別是在PyData社區,它將有益於所有這一點澄清這一點 - 也許在NumFOCUS組織的保護下。
話雖如此,參與conda-forge的人告訴我,核心團隊目前正在解決這個問題,包括生成管理文件,行為准則和加強提案框架。
Conda commands
https://conda.io/projects/conda/en/latest/commands.html
conda install --help
The following commands are part of conda:
Conda vs. pip vs. virtualenv commands
If you have used pip and virtualenv in the past, you can use conda to perform all of the same operations. Pip is a package manager, and virtualenv is an environment manager. Conda is both.
Task | Conda package and environment manager command | Pip package manager command | Virtualenv environment manager command |
---|---|---|---|
Install a package | conda install $PACKAGE_NAME |
pip install $PACKAGE_NAME |
X |
Update a package | conda update --name $ENVIRONMENT_NAME $PACKAGE_NAME |
pip install --upgrade $PACKAGE_NAME |
X |
Update package manager | conda update conda |
Linux/macOS: pip install -U pip Win: python -m pip install -U pip |
X |
Uninstall a package | conda remove --name $ENVIRONMENT_NAME $PACKAGE_NAME |
pip uninstall $PACKAGE_NAME |
X |
Create an environment | conda create --name $ENVIRONMENT_NAME python |
X | cd $ENV_BASE_DIR; virtualenv $ENVIRONMENT_NAME |
Activate an environment | conda activate $ENVIRONMENT_NAME * |
X | source $ENV_BASE_DIR/$ENVIRONMENT_NAME/bin/activate |
Deactivate an environment | source deactivate |
X | deactivate |
Search available packages | conda search $SEARCH_TERM |
pip search $SEARCH_TERM |
X |
Install package from specific source | conda install --channel $URL $PACKAGE_NAME |
pip install --index-url $URL $PACKAGE_NAME |
X |
List installed packages | conda list --name $ENVIRONMENT_NAME |
pip list |
X |
Create requirements file | conda list --export |
pip freeze |
X |
List all environments | conda info --envs |
X | Install virtualenv wrapper, then lsvirtualenv |
Install other package manager | conda install pip |
pip install conda |
X |
Install Python | conda install python=x.x |
X | X |
Update Python | conda update python * |
X | X |
* conda activate
only works on conda 4.6 and later versions. For conda versions prior to 4.6, type:
- Windows:
activate
- Linux and macOS:
source activate
* conda update python
updates to the most recent in the series, so any Python 2.x would update to the latest 2.x and any Python 3.x to the latest 3.x.