- Python自動化運維快速入門
- 鄭征
- 1571字
- 2019-12-09 14:48:07
1.3 Python環(huán)境搭建
Python編寫的源代碼要想得到運行的結果,就需要安裝解釋Python源代碼的軟件,由其翻譯成機器語言并提交操作系統(tǒng)運行,我們通常稱之為Python解釋器或Python編程環(huán)境。
我們從Python官方網站https://www.python.org/的下載頁面了解到目前有兩個版本,即Python2.7.x與Python3.x。作為初學者,我們要學就學最新的Python3.x,目前絕大多數Python2.7.x的第三方庫已經移植到Python3.x中了,如果遇到個別僅有Python2.7.x支持的,我們也可以對代碼稍做修改在Python3.x下運行。本書以Python3.6.5為例,講解在Windows系統(tǒng)和Linux系統(tǒng)下安裝Python的詳細步驟。
1.3.1 Windows系統(tǒng)下的Python安裝
在Windows系統(tǒng)下安裝Python非常簡單,具體步驟如下。
(1)下載。在Python官方網站https://www.python.org/中下載Windows安裝包。如果Windows操作系統(tǒng)是64位,對應的下載鏈接是https://www.python.org/ftp/python/3.6.5/python-3.6.5-amd64.exe;如果Windows操作系統(tǒng)是32位,對應的下載鏈接是https://www.python.org/ftp/python/3.6.5/python-3.6.5.exe。
(2)雙擊下載文件并進行安裝,能選擇如圖1.3所示,建議都選擇,無非就是多占用一點磁盤空間,對電腦性能沒有任何影響。單擊Next按鈕后如圖1.4所示,將Python添加至環(huán)境變量中,方便在命令行中快速啟動Python,再單擊Install按鈕,等待安裝完畢,如圖1.5所示。其中disable path length limit表示禁用路徑長度限制,是設置環(huán)境變量Path的,可忽略,單擊Close按鈕結束安裝。

圖1.3 選擇功能

圖1.4 將Python添加至環(huán)境變量

圖1.5 安裝成功
(3)驗證。在cmd命令窗口輸入python,并在>>>提示符后輸入print(“hello python”),如果打印出“hello python”信息,就表明安裝成功,輸入exit()可退出Python解釋器環(huán)境,在cmd命令窗口輸入where python可查看python可執(zhí)行文件所在的路徑,如圖1.6所示。

圖1.6 驗證安裝是否成功
(4)創(chuàng)建虛擬環(huán)境。前三步已經把Python環(huán)境安裝好了,但是在實際開發(fā)Python應用程序時可能會遇到這種情形:項目A依賴Django1.10.1,而項目B依賴Django2.0。如果不創(chuàng)建虛擬環(huán)境的話,運行項目A時安裝Django1.10.1,運行項目B時先卸載Django1.10.1,再安裝Django2.0,然后運行項目A時,再次重復操作,這樣就會顯得很笨拙。Python已經為您想好了解決方案——創(chuàng)建虛擬環(huán)境,每個項目一個獨立的環(huán)境,這樣井水不犯河水,合平共處,互不干擾。
Windows創(chuàng)建虛擬環(huán)境的方法:在cmd窗口中順序執(zhí)行以下命令(#后面表示注釋,執(zhí)行命令時要去掉)。

運行結果如圖1.7所示。

圖1.7 創(chuàng)建虛擬環(huán)境
提示
virtualenv是如何創(chuàng)建獨立的Python運行環(huán)境的呢?原理很簡單,就是把系統(tǒng)Python復制一份到虛擬環(huán)境。使用命令.\projectA_env\bin\activate.bat進入一個projectA虛擬環(huán)境時,virtualenv會修改相關環(huán)境變量,讓命令python和pip均指向當前的projectA虛擬環(huán)境。
1.3.2 Linux系統(tǒng)下的Python安裝
大多數Linux系統(tǒng)已經預裝了Python,直接在終端窗口輸入python即可查看版本(見圖1.8)。以Ubuntu16.04為例,運行python命令。

圖1.8 Ubuntu已預裝了Python2.7.12
Ubuntu16.04已經預裝了Python3.5.2,如圖1.9所示。

圖1.9 Ubuntu已預裝Python3.5.2
提示
對比圖1.8和圖1.9可以看出:Python 2中print是一條語句,Python 3中print是一個函數。
如果想省事,則可以直接使用Python3.5來學習;如果喜歡使用自己安裝的Python,則可以按以下步驟進行操作。
步驟01 下載源代碼包:wget http://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz,如圖1.10所示。如果下載其他版本,直接把版本號修改一下即可。

圖1.10 下載Python3.6.5
步驟02 解壓源代碼包。
tar -zxvf Python-3.6.5.tgz
步驟03 編譯與安裝。
cd Python-3.6.5 #進入解壓后的目錄 ./configure --prefix=/home/aaron/local/python3.6.5 #指定安裝目錄,一般為/usr/local, 這里改成home下的目錄 make&&make install #編譯并安裝
提示
如果提示缺少相關的包,如zlib等,請下載后再編譯安裝。
步驟04 驗證:輸入/home/aaron/local/python3.6.5/bin/python3,并打印“hello,python3!”,如圖1.11所示。

圖1.11 Linux編譯安裝Python后驗證
這樣帶路徑的輸入太長,有兩種方法可以解決輸入麻煩的問題。第一種是將Python3.6.5的路徑/home/aaron/local/python3.6.5/bin添加到環(huán)境變量中。在terminal中順序執(zhí)行以下命令,注意#后面的內容是注釋,結果如圖1.12所示。


圖1.12 為Python添加環(huán)境變量
第二種是建立軟鏈接。在terminal中執(zhí)行:
sudo ln -s /home/aaron/local/python3.6.5/bin/python3.6 /usr/bin/python3.6#建立 python3.6的軟連接。 sudo ln -s /home/aaron/local/python3.6.5/bin/pip3.6 /usr/bin/pip3.6#建立pip3.6 的軟連接。
步驟05 創(chuàng)建虛擬環(huán)境:在terminal中順序執(zhí)行以下語句。
which pip3.6#查看pip3.6的位置 pip3.6 install virtualenv
提示
如果這一步報/home/aaron/xxx/python3.6找不到錯誤,請編輯上一步路徑中的pip3.6文件,將第一行改為安裝路徑中的python3.6,本例中為#!/home/aaron/local/python3.6.5/bin/python3.6。
如果報subprocess.CalledProcessError: Command 'lsb_release -a' returned non-zero exit status 1的錯誤,則執(zhí)行:
ln -s /usr/share/pyshared/lsb_release.py /home/aaron/local/python3.6.5/lib/python3.6/site-packages/lsb_release.py
這一步把原有的lsb_release.py鏈接到我們安裝的路徑下,然后執(zhí)行:
pip3.6 install virtualenv virtualenv -p python3.6 projectA_env source projectA_env/bin/activate
這里的-p參數表示指定Python編譯器的版本,Python3.6是指向我們安裝的/home/aaron/local/python3.6.5/bin/python3.6,輸入
deactivate
退出projectA的虛擬環(huán)境,完整過程如圖1.13所示。

圖1.13 為編譯安裝的Python創(chuàng)建虛擬環(huán)境
- Android Jetpack開發(fā):原理解析與應用實戰(zhàn)
- Python數據分析入門與實戰(zhàn)
- React Native Cookbook
- Magento 2 Development Cookbook
- Android NDK Beginner’s Guide
- C程序設計案例教程
- 劍指Java:核心原理與應用實踐
- Spring快速入門
- ASP.NET Web API Security Essentials
- C語言從入門到精通
- 軟技能2:軟件開發(fā)者職業(yè)生涯指南
- Java Script從入門到精通(第5版)
- Visual FoxPro數據庫程序設計
- Python Business Intelligence Cookbook
- PyTorch生成對抗網絡編程