如果你需要的包要求不同版本的Python,你無需切換到不同的環境,因為conda同樣是一個環境管理器。僅需要幾條命令,你可以創建一個完全獨立的環境來運行不同的Python版本,同時繼續在你常規的環境中使用你常用的Python版本。——conda官方網站
pip
pip3
/usr/lib/python2.7/site-packages
,當不小心升級了本不該升級的程序時,將會對其他的程序造成影響。site-packages
目錄中安裝包。注意:若有錯誤提示信息“You cannot install Anaconda in this location”則重新選擇“Install for me only”并點擊下一步。
“Anaconda-Navigator”中已經包含“Jupyter Notebook”、“Jupyterlab”、“Qtconsole”和“Spyder”。(圖中的“Rstudio”是我后來安裝的,但它默認出現在“Anaconda-Navigator”的啟動界面,只需要點擊“Install”便可安裝。)
bash ~/Downloads/Anaconda3-5.0.1-MacOSX-x86_64.sh
bash ~/Downloads/Anaconda2-5.0.1-MacOSX-x86_64.sh
注意:
首詞bash也需要輸入,無論是否用的Bash shell。
如果你的下載路徑是自定義的,那么把該步驟路徑中的
~/Downloads
替換成你自己的下載路徑。如果你將第1步下載的
.sh
文件重命名了,那么把該步驟路徑中的Anaconda3-5.0.1-MacOSX-x86_64.sh
或Anaconda2-5.0.1-MacOSX-x86_64.sh
替換成你重命名后的文件名。強烈建議:不要修改文件名。如果重命名,使用英文進行命名。
建議:直接接受默認安裝路徑。
/home/<user>/.bash_profile
文件中嗎?”),建議輸入“yes”。注意:
路徑 /home/<user>/.bash_profile
中“”即進入到家目錄后你的目錄名。 如果輸入“no”,則需要手動添加路徑。添加 export PATH="/<path to anaconda>/bin:$PATH"
在“.bashrc”或者“.bash_profile”中。其中,“”替換為你真實的Anaconda安裝路徑。
condal list
,如果Anaconda被成功安裝,則會顯示已經安裝的包名和版本號。python
。這條命令將會啟動Python交互界面,如果Anaconda被成功安裝并且可以運行,則將會在Python版本號的右邊顯示“Anaconda custom (64-bit)”。退出Python交互界面則輸入exit()
或quit()
即可。3)在終端中輸入anaconda-navigator
。如果Anaconda被成功安裝,則Anaconda Navigator的圖形界面將會被啟動。注意:
如果在安裝過程中遇到任何問題,那么暫時地關閉殺毒軟件,并在安裝程序完成之后再打開。 如果在安裝時選擇了“為所有用戶安裝”,則卸載Anaconda然后重新安裝,只為“我這個用戶”安裝。
注意:
目標路徑中不能含有空格,同時不能是“unicode”編碼。
除非被要求以管理員權限安裝,否則不要以管理員身份安裝。
注意:如果你不想了解“Anaconda云”和“Anaconda支持”,則可以不勾選“Learn more about Anaconda Cloud”和“Learn more about Anaconda Support”。
conda list
,可以查看已經安裝的包名和版本號。若結果可以正常顯示,則說明安裝成功。md5sum /path/filename
或sha256sum /path/filename
注意:將該步驟命令中的 /path/filename
替換為文件的實際下載路徑和文件名。其中,path是路徑,filename為文件名。強烈建議:
路徑和文件名中不要出現空格或其他特殊字符。 路徑和文件名最好以英文命名,不要以中文或其他特殊字符命名。
bash ~/Downloads/Anaconda3-5.0.1-Linux-x86_64.sh
bash ~/Downloads/Anaconda2-5.0.1-Linux-x86_64.sh
注意:
首詞bash也需要輸入,無論是否用的Bash shell。 如果你的下載路徑是自定義的,那么把該步驟路徑中的 ~/Downloads
替換成你自己的下載路徑。除非被要求使用root權限,否則均選擇“Install Anaconda as a user”。
建議:直接接受默認安裝路徑。
/home/<user>/.bashrc
文件中嗎?”),建議輸入“yes”。注意:
路徑 /home/<user>/.bash_rc
中“”即進入到家目錄后你的目錄名。 如果輸入“no”,則需要手動添加路徑,否則conda將無法正常運行。
source ~/.bashrc
也可完成啟動。condal list
,如果Anaconda被成功安裝,則會顯示已經安裝的包名和版本號。python
。這條命令將會啟動Python交互界面,如果Anaconda被成功安裝并且可以運行,則將會在Python版本號的右邊顯示“Anaconda custom (64-bit)”。退出Python交互界面則輸入exit()
或quit()
即可。anaconda-navigator
。如果Anaconda被成功安裝,則Anaconda Navigator將會被啟動。conda --version
conda 版本號
的形式顯示當前安裝conda的版本號。如:conda 3.11.0
注意:如果出現錯誤信息,則需核實是否出現以下情況:
使用的用戶是否是安裝Anaconda時的賬戶。 是否在安裝Anaconda之后重啟了終端。
Proceed ([y]/n)?
,此時輸入y
即可進行升級。conda --help
# 或
conda -h
rm -rf ~/anaconda2
# 或
rm -rf ~/anaconda3
控制面板 → 添加或刪除程序 → 選擇“Python X.X (Anaconda)” → 點擊“刪除程序”
注意:
Python X.X:即Python的版本,如:Python 3.6。 Windows 10的刪除有所不同。
conda create --name <env_name> <package_names>
<env_name>
即創建的環境名。建議以英文命名,且不加空格,名稱兩邊不加尖括號“<>”。<package_names>
即安裝在環境中的包名。名稱兩邊不加尖括號“<>”。=
和版本號的形式執行。如:conda create --name python2 python=2.7
,即創建一個名為“python2”的環境,環境中安裝版本為2.7的python。<package_names>
后以空格隔開,添加多個包名即可。如:conda create -n python3 python=3.5 numpy pandas
,即創建一個名為“python3”的環境,環境中安裝版本為3.5的python,同時也安裝了numpy和pandas。--name
同樣可以替換為-n
。/Users/<user_name>/anaconda3/env
目錄下,其中,<user_name>
為當前用戶的用戶名。source activate <env_name>
activate <env_name>
source active python2
,即切換至名為“python2”的環境,則行首將會以(python2)開頭。source deactivate
deactivate
conda info --envs
conda info -e
conda env list
conda create --name <new_env_name> --clone <copied_env_name>
注意:
<copied_env_name>
即為被復制/克隆環境名。環境名兩邊不加尖括號“<>”。<new_env_name>
即為復制之后新環境的名稱。環境名兩邊不加尖括號“<>”。如: conda create --name py2 --clone python2
,即為克隆名為“python2”的環境,克隆后的新環境名為“py2”。此時,環境中將同時存在“python2”和“py2”環境,且兩個環境的配置相同。
conda remove --name <env_name> --all
注意: <env_name>
為被刪除環境的名稱。環境名兩邊不加尖括號“<>”。
conda search --full-name <package_full_name>
注意:
``--full-name`為精確查找的參數。 <package_full_name>
是被查找包的全名。包名兩邊不加尖括號“<>”。
conda search --full-name python
即查找全名為“python”的包有哪些版本可供安裝。注意: <text>
是查找含有此字段的包名。此字段兩邊不加尖括號“<>”。
conda search py
即查找含有“py”字段的包,有哪些版本可供安裝。conda list
conda install --name <env_name> <package_name>
注意:
<env_name>
即將包安裝的指定環境名。環境名兩邊不加尖括號“<>”。<package_name>
即要安裝的包名。包名兩邊不加尖括號“<>”。
conda install --name python2 pandas
即在名為“python2”的環境中安裝pandas包。conda install <package_name>
注意:
<package_name>
即要安裝的包名。包名兩邊不加尖括號“<>”。執行命令后在當前環境中安裝包。
conda install pandas
即在當前環境中安裝pandas包。conda install
無法進行安裝時,可以使用pip進行安裝。例如:see包。pip install <package_name>
注意:<package_name>為指定安裝包的名稱。包名兩邊不加尖括號“<>”。
pip install see
即安裝see包。conda install
無法進行安裝時,可以考慮從Anaconda.org中獲取安裝包的命令,并進行安裝。conda remove --name <env_name> <package_name>
注意:
<env_name>
即卸載包所在指定環境的名稱。環境名兩邊不加尖括號“<>”。<package_name>
即要卸載包的名稱。包名兩邊不加尖括號“<>”。
conda remove --name python2 pandas
即卸載名為“python2”中的pandas包。conda remove <package_name>
注意:
<package_name>
即要卸載包的名稱。包名兩邊不加尖括號“<>”。執行命令后即在當前環境中卸載指定包。
conda remove pandas
即在當前環境中卸載pandas包。conda update --all
conda upgrade --all
建議:在安裝Anaconda之后執行上述命令更新Anaconda中的所有包至最新版本,便于使用。
conda update <package_name>
conda upgrade <package_name>
注意:
<package_name>
為指定更新的包名。包名兩邊不加尖括號“<>”。更新多個指定包,則包名以空格隔開,向后排列。如: conda update pandas numpy matplotlib
即更新pandas、numpy、matplotlib包。
作者:Raxxie 鏈接:https://www.jianshu.com/p/62f155eb6ac5
知乎“初學python者自學anaconda的正確姿勢是什么??猴子的回答: https://link.jianshu.com?t=https%3A%2F%2Fwww.zhihu.com%2Fquestion%2F58033789%2Fanswer%2F254673663%3Futm_source%3Dwechat_session%26utm_medium%3Dsocial
[2]Anaconda Cheat Sheet: https://link.jianshu.com?t=https%3A%2F%2Fdocs.anaconda.com%2F_downloads%2FAnaconda-Starter-Guide-Cheat-Sheet.pdf
[3]Anaconda官方網站: https://link.jianshu.com?t=https%3A%2F%2Fwww.anaconda.com%2Fdownload%2F%23macos
[4]conda官方網站: https://link.jianshu.com?t=https%3A%2F%2Fconda.io%2Fdocs%2F
[5]pip官方網站: https://link.jianshu.com?t=https%3A%2F%2Fpip.pypa.io%2Fen%2Fstable%2F
[6]Pip vs Conda: Differences and Comparisons: https://link.jianshu.com?t=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DRXLRIHaabaI
[7]virtualenv官方網站: https://link.jianshu.com?t=https%3A%2F%2Fvirtualenv.pypa.io%2Fen%2Fstable%2F
[8]macOS系統安裝Anaconda的官方教程: https://link.jianshu.com?t=https%3A%2F%2Fdocs.anaconda.com%2Fanaconda%2Finstall%2Fmac-os%23macos-graphical-install
[9]Windows系統安裝Anaconda的官方教程: https://link.jianshu.com?t=https%3A%2F%2Fdocs.anaconda.com%2Fanaconda%2Finstall%2Fwindows
[10]Linux系統安裝Anaconda的官方教程: https://link.jianshu.com?t=https%3A%2F%2Fdocs.anaconda.com%2Fanaconda%2Finstall%2Flinux
[11]Conda Official User Guide: https://link.jianshu.com?t=https%3A%2F%2Fconda.io%2Fdocs%2Fuser-guide%2Fgetting-started.html%23managing-conda
在處理很多數學問題的時,有時候需要利用一些數學軟件來檢驗或者是測試自己的想法、處理方式是否正確,而這里就大致簡單總結一下常用的數學軟件。數學軟件是用來建模、分析、計算各種數學資料,包括數值、符號、幾何資料等之電腦軟件。
以下是我們總結的一些常用的數學軟件,至于那些少許專業用戶的數學軟件,我會在最后略微有點說說吧。
Julia 是一種高級通用動態編程語言,它最初是為了滿足高性能數值分析和計算科學的需要而設計的,不需要編譯器速度快,也可用于客戶端和服務器的Web用途、低級系統編程或用作規約語言。
Julia設計的獨特之處包括,參數多態的類型系統,完全動態語言中的類型,以及它多分派的核心編程范型。它允許并發、并行和分布式計算,并直接調用C和Fortran庫而不使用粘合代碼。
Julia擁有垃圾回收機制,使用及早求值,包含了用于浮點計算、線性代數、隨機數生成和正則表達式匹配的高效庫。有許多庫可以使用,其中一些(如用于快速傅里葉變換的庫)已經預先捆綁在Julia里。
鑒于大家想要一個不要錢的數學軟件,沒錯的,這個Julia就是不要錢,而且她的源程序都在 [github](https://github.com/JuliaLang/julia)上,你可以自己瀏覽,以及自己編譯。因為,Julia是免費的、開源的!
簡短來講,是因為我們很貪婪。
我們之中有些是使用MATLAB的重量級用戶,有些是來自Lisp的極客,還有一些是來自Python和Ruby的魔法師,甚至還有來自Perl社區的大魔法師。我們之中還有從胡子都沒長齊時就開始使用Mathematica的。其中的有些人現在都沒長胡子!我們像是瘋了一樣用R畫了越來越多的圖,而C是我們的硬核搖滾(也有大殺器之意)。
我們熱愛所有這些語言,他們實在很好很強大。在我們從事的領域(科學計算,機器學習,數據挖掘,大規模線性代數計算,分布式和并行計算)中,每一種語言都對某一項工作的一項特定需求非常完美,但是卻無法勝任其它需求。于是使用什么語言都需要我們去權衡。
而我們很貪婪,我們還想要更多。
我們想要的是一個自由開源的語言,并且它同時擁有C的速度和Ruby的動態性;我們想要一個具有同像性(可以將語言的腳本本身當作數據進行處理)的語言,它有著真正的和lisp一樣的宏,但是卻像Matlab一樣有著顯然的,類似于數學表達式的標記;我們想要一個既可以像Python一樣作為通用編程語言的工具,又可以像R那樣適用于統計分析,能像Perl那樣自然地處理字符串,能像Matlab那樣給力地處理矩陣運算,它還要能像shell一樣作為膠水將各種程序粘合在一起;我們想要一個簡單易學的語言,同時它還能讓最苛刻的魔法師們(hackers)開心。我們希望它是交互式的,但我們也希望它能被編譯。
(我們剛剛有提它要和C一樣快嘛?!)
當我們在構思這些需求的時候,我們發現它還得有Hadoop這樣強大的分布式能力,卻不想要Hadoop里面那些冗長Jave和XML模板,更不想被被迫在幾個GB的日志文件和幾百臺機器里找bug。我們不想要那些令人費解的層次結構。我們想讓簡單的標量循環能被編譯成僅用寄存器和一塊CPU的干凈的機器碼。我們希望簡單地寫下A*B就能夠在成千上萬的機器上用成千上萬地運算來計算這個龐大的矩陣乘法。
如無必要,那就不用聲明類型。但當我們需要多態函數(polymorphic functions)時,我們也想要用泛型編程(generic programming)僅僅書寫一次算法,就能夠在無限多的類型上使用。我們想要多重派發(multiple dispatch)來為一個函數所有可能的參數選出最佳的執行方法。這些參數可能有著不同定義,不同類型,但是卻有著相同功能。在擁有以上能力的同時,我們還希望這種語言簡單,干凈。
要求有點多,是不是?
盡管我們意識到了自己有多貪心,我們還是想要擁有這些功能。大概在兩年半之前,我們開始創造這種能滿足我們貪念的語言。它還沒有完工——但是已經可以發布一個1.0版本了(其實等了6年才要發布)——我們創造的這個語言叫做Julia。它已經實現了我們這次亂七八糟需求的90%,而現在她需要來自更多人的亂七八糟的需求,來讓她走得更遠。
一種自由軟件編程語言與操作環境,主要用于統計分析、繪圖、數據挖掘。R本來是由來自新西蘭奧克蘭大學的羅斯·伊哈卡和羅伯特·杰特曼開發(也因此稱為R),現在由“R開發核心團隊”負責開發。R基于S語言的一個GNU計劃項目,所以也可以當作S語言的一種實現,通常用S語言編寫的代碼都可以不作修改的在R環境下運行。R的語法是來自Scheme。
R的源代碼可自由下載使用,亦有已編譯的可執行文件版本可以下載,可在多種平臺下運行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同時有人開發了幾種圖形用戶界面,其中RStudio是最為廣泛使用的集成開發環境。
GNU Octave是一種采用高級編程語言的主要用于數值分析的軟件。Octave有助于以數值方式解決線性和非線性問題,并使用與MATLAB兼容的語言進行其他數值實驗。它也可以作為面向批處理的語言使用。因為它是GNU計劃的一部分,所以它是GNU通用公共許可證條款下的自由軟件。
Octave是MATLAB的主要自由替代品之一,其他還有Scilab和FreeMat。然而,與Octave相比,Scilab更少強調與MATLAB的(雙向)句法兼容性
以上三個是免費的、不要錢的數學軟件,偏向于工程計算和數據分析方向,符號處理幾乎沒有的,另外我強烈推薦那個Julia,現在還在學習中的。下一期我繼續推薦其他一些在比如優化建模、數據分析、金融數學、群論等領域,比較特殊的數學軟件。