在Linux系統上通常會預安裝python,但有時候版本太低,經過apt或yum沒法安裝較新的python版本,只能經過編譯python源碼進行安裝。然而經過源碼安裝會依賴大量的庫,手動安裝這些依賴庫也是一件很煩心的事情。並且還可能出現依賴庫衝突的問題,裝很差可能會破壞系統的正常使用。html
有時間的小夥伴能夠試試經過源碼編譯安裝,遇到問題而後解決問題也是一件頗有成就感的事情。安裝過程可能會一次性成功,也可能弄一天也安裝很差,最好使用虛擬機,安裝以前先作個快照,方便安裝失敗進行系統還原。下面簡單說明一下源碼安裝過程。python
進入Python官網,選擇Downloads選項裏面的Source code,選擇合適的版本下載,好比3.6.7版本,下載後是一個Python-3.6.7.tar.xz文件。linux
而後解壓 tar -xvf Python-3.6.7.tar.xz bash
運行 ./configure --prefix=/usr ,--prefix參數指定安裝的目錄,默認是/usr/local。app
而後 make ,編譯完成後(固然是一切順利的狀況下)運行 make altinstall 進行安裝。關於 make install 和 make altinstall 的區別能夠查看Python官網文檔說明。ssh
好了,源碼編譯安裝就介紹到這裏,這不是今天要講的內容。工具
在python編碼編譯安裝過程當中,你可能會安裝不少依賴庫,是否是有點心煩呢。如今介紹anaconda,能夠再也不讓你心煩意亂,輕輕鬆鬆安裝python環境(並且是任意python版本)。學習
我這裏不在過多的介紹anaconda,詳細介紹請看anaconda官網,學習一個工具或產品,或者遇到問題,要先去查看官網文檔,必定要養成這個好的習慣。(官網資料通常都是英文的,因此英語仍是必定要學好的,英語很差的如今開始學習還不晚,必定要相信本身。)ui
官網下載安裝包,這裏選擇的是Linux版本的Python3 64位。(建議選擇Python3,Python2很快就中止維護了,除了一些之前用Python2開發好的如今須要維護的程序,如今通通都換成Python3吧)this
下載完成後是一個Anaconda3-2018.12-Linux-x86_64.sh文件,下面開始安裝吧
在Linux終端上運行 bash ~/Anaconda3-2018.12-Linux-x86_64.sh 進入安裝交互模式,出現
Welcome to Anaconda3 2018.12 In order to continue the installation process, please review the license agreement. Please, press ENTER to continue >>>
按enter鍵繼續,出現 Anaconda End User License Agreement 等信息,一直按enter翻到最後,出現
Do you accept the license terms? [yes|no]
[no] >>>
輸入yes繼續,出現
Anaconda3 will now be installed into this location: /root/anaconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below [/root/anaconda3] >>>
讓咱們選擇安裝路徑,默認是/root/anaconda3,這裏輸入/opt/anaconda3安裝到/opt目錄下,
過程會安裝不少依賴庫,這裏只是截取了一部分,這些依賴庫不會和系統中的庫衝突的。
installing: icu-58.2-h9c2bf20_1 ... installing: jbig-2.1-hdba287a_0 ... installing: jpeg-9b-h024ee3a_2 ... installing: libffi-3.2.1-hd88cf55_4 ... installing: liblief-0.9.0-h7725739_1 ... installing: libsodium-1.0.16-h1bed415_0 ... installing: libtool-2.4.6-h7b6447c_5 ... installing: libuuid-1.0.3-h1bed415_2 ... installing: libxcb-1.13-h1bed415_1 ... installing: lz4-c-1.8.1.2-h14c3975_0 ... installing: lzo-2.10-h49e0be7_2 ... installing: mkl-2019.1-144 ... installing: ncurses-6.1-he6710b0_1 ... installing: openssl-1.1.1a-h7b6447c_0 ... installing: patchelf-0.9-he6710b0_3 ... installing: pcre-8.42-h439df22_0 ... installing: pixman-0.34.0-hceecf20_3 ... installing: snappy-1.1.7-hbae5bb6_3 ... installing: xz-5.2.4-h14c3975_4 ... installing: yaml-0.1.7-had09818_2 ... installing: zlib-1.2.11-h7b6447c_3 ...
安裝完成後,詢問咱們是否要將環境變量加入~/.bashrc文件中
installation finished. Do you wish the installer to initialize Anaconda3 in your /root/.bashrc ? [yes|no] [no] >>> yes Initializing Anaconda3 in /root/.bashrc A backup will be made to: /root/.bashrc-anaconda3.bak For this change to become active, you have to open a new terminal. Thank you for installing Anaconda3!
咱們輸入yes,安裝完成。
有時候還會出現詢問是否安裝VSCode
Anaconda is partnered with Microsoft! Microsoft VSCode is a streamlined code editor with support for development operations like debugging, task running and version control. To install Visual Studio Code, you will need: - Administrator Privileges - Internet connectivity Visual Studio Code License: https://code.visualstudio.com/license Do you wish to proceed with the installation of Microsoft VSCode? [yes|no] >>> no
輸入no,至此安裝完成。
上面安裝完成後,運行 source ~/.bashrc 使安裝過程當中添加到bashrc中的環境變量當即生效(或者斷開當前終端,再ssh鏈接進來也能夠)。
[root@neokylin ~]# conda --version conda 4.5.12 [root@neokylin ~]#
更多命令使用 conda --help 查看。
python絕對路徑爲/opt/anaconda3/bin/python
[root@neokylin ~]# /opt/anaconda3/bin/python Python 3.7.1 (default, Dec 14 2018, 19:28:38) [GCC 7.3.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>> print("hello world!") hello world! >>> exit() [root@neokylin ~]#
pip絕對路徑爲/opt/anaconda3/bin/pip, /opt/anaconda3/bin/pip list 能夠發現已經安裝了不少模塊了。
假如咱們不想在默認的anaconda環境中安裝其餘模塊,或者不想使用默認的Python3.7.1,那咱們可使用虛擬環境,
咱們建立一個名爲py36的虛擬環境,指定python版本爲3.6.7,能夠執行 conda create -n py36 python=3.6.7 來建立。過程須要聯網,下載指定python版本的依賴庫。安裝完成後在最後會有下面提示,進入和離開虛擬環境的操做。
# To activate this environment, use
#
# $ conda activate py36
#
# To deactivate an active environment, use
#
# $ conda deactivate
咱們使用 conda activate py36 進入虛擬環境,查看python版本,使用pip list,最後再經過 conda deactivate 退出該虛擬環境。
[root@neokylin ~]# conda activate py36 (py36) [root@neokylin ~]# python --version Python 3.6.7 :: Anaconda, Inc. (py36) [root@neokylin ~]# python Python 3.6.7 |Anaconda, Inc.| (default, Oct 23 2018, 19:16:44) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> print("hello world!") hello world! >>> exit() (py36) [root@neokylin ~]# pip list Package Version ---------- -------- certifi 2019.3.9 pip 19.0.3 setuptools 40.8.0 wheel 0.33.1 (py36) [root@neokylin ~]# conda deactivate (base) [root@neokylin ~]# conda deactivate [root@neokylin ~]#
若是經過 conda deactivate 退出後,出現 (base) ,能夠經過再次執行 conda deactivate 退出。
全部的虛擬環境都在anaconda安裝目錄下的envs目錄下。
咱們也能夠直接使用虛擬環境中的python的絕對路徑來運行 /opt/anaconda3/envs/py36/bin/python --version 而不須要進入虛擬環境。相似的pip也是能夠的 /opt/anaconda3/envs/py36/bin/pip list 。