作者:Jackpop
鏈接:https://www.zhihu.com/question/289779838/answer/613456459
來源:知乎
目錄
- Python解釋器
- IDE
- pip代理
- 虛擬環境
Python解釋器
編程語言都會涉及編譯器或者解釋器,使用C/C++之類的編譯性語言編寫的程序,是需要從源文件轉換成計算機使用的機器語言,經過鏈接器鏈接之後形成了二進制的可執行文件。運行該程序的時候,就可以把二進制程序從硬盤載入到內存中並運行。但是對於Python而言,python源碼不需要編譯成二進制代碼,它可以直接從源代碼運行程序。執行Python就需要用到Python解釋器,按版本劃分,Python解釋器可以分為:
- 2.x
- 3.x
2.x版本目前已經不再進行維護,所以目前大多數項目都是使用3.x,我個人比較推薦用3.6.x版本,3.7.2是目前最新的版本,但是使用過程中會有這樣那樣的錯誤,或存在不兼容等問題,而3.5.x及以下的版本也存在一些問題:
- 前綴f格式化字符串在3.6.x之後才開始支持
- 安裝工具包時3.5.x安裝相關依賴容易失敗
安裝步驟:
- 下載解釋器
Python Releases for Windowswww.python.org
- 雙擊安裝
記得勾選pip,這是Python的包管理工具,會經常用到
IDE
IDE(Integrated Development Environment, 集成開發環境),目前Python的IDE有很多,vs code、eclipse、atom、anaconda、IDEA等等,我個人不太推薦使用上述這些IDE,當然如果十分喜歡這些IDE也可以。對於開發Python,我只推薦pycharm和jupyter notebook兩款。毋庸置疑,這是Python最強大的IDE。跳轉、關聯第三方庫、速度、集成度、debug等等,可以說pycharm在Python開發中大多數方面表現的都很優秀,而vs code、eclipse、anaconda、atom只是在某一個或幾個方面表現還可以。首先vs code關聯第三方庫、函數提示等方面很慢、服務器下容易卡頓,eclipse需要額外配置Python插件,anaconda集成太多包,有很多是自己用不到的,太臃腫了,atom沒用過,不過也不感興趣,所以,我覺得使用這些IDE還不如配置一下vim。如果說不喜歡每種語言安裝一個IDE,喜歡像eclipse這樣支持不同語言的IDE,我支持使用IDEA,這和pycharm屬於同一家的產品,很多特性有共通之處。
pycharm優點:
- 功能豐富
- 提示速度快
- 強大的書籤和跳轉功能
- 高效的debug
- 學生可以註冊免費使用專業版
- ...
pycharm安裝步驟:
- 下載pycharm
如果沒有購買專業版,可以下載社區版免費使用:
http://www.jetbrains.com/pycharm/download/#section=windowswww.jetbrains.com
如果有學校的郵箱,可以註冊教育版,和專業版沒什麼區別:
Download PyCharm Edu: Python IDE to Learn Programming by JetBrainswww.jetbrains.com
- 進行安裝
雙擊可執行文件、選擇安裝目錄進行安裝就行了。
- 配置解釋器
setting->Project->Project Interpreter
在紅框位置選擇上面安裝的Python解釋器
要檢查一下,因為Python默認是生成一個虛擬環境,使用虛擬環境中的解釋器
jupyter notebook優點:
- 交互式調試
- 隨時切換Markdown和code,邊做筆記邊寫代碼
jupyter notebook安裝步驟:
- 打開cmd
- 用pip安裝
<code>pip install jupyter notebook/<code>
pip代理
pip是Python的包管理工具,無論是自己再cmd、終端下安裝還是使用pycharm這些IDE安裝包,都會調用pip。
默認的代理是從pypi上下載並安裝包,速度會比較慢,所以需要配置一下pip的代理,這樣速度會得到大大的提升,如圖中所示,利用默認的下載速度之後幾百k,配置代理後可達到2.1M/s。
pip代理配置步驟:
- 創建pip文件夾
在個人目錄下創建一個pip的目錄,比如C:\\Users\\li,
- 創建代理文件
進入C:\\Users\\li\\pip目錄,創建名為[pip.ini]的文件,打開把下面這段文字複製進去並保存:
<code>[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/<code>
虛擬環境
Python和其它編程語言一樣,面臨一個移植問題,如果想把開發完成的一個項目一直到其他電腦、節點或者把項目打成docker鏡像,都需要對開發環境重新配置,需要重新安裝項目中使用到的第三方工具包,如果一個個比對著安裝必然會很麻煩,而我們用系統環境時pip安裝的包都被安裝進了Python路徑下site-packages裡面,如果生成requirement.txt時也會把site-packages下的所有包都會包含進去,這就是為什麼使用到虛擬環境的原因,能夠針對不同項目創建一個獨立的環境,這樣便於後期的移植。
Python虛擬環境管理工具主要有以下兩種:
- virtualenv
- pipenv
上述兩個工具都可以使用pip進行安裝:
<code>pip install virtualenv
pip install pipenv/<code>
virtualenv和pipenv該怎麼選擇?我覺得這根據個人喜好。
virtualenv更加悠久,老化一些,使用步驟如下:
- 創建虛擬環境
<code>virtualenv test_env/<code>
- 激活虛擬環境
<code>test_env\\Scripts\\activate/<code>
- 生成requirement
激活虛擬環境後就可以進入虛擬獨立的環境進行開發,如果開發完成之後想一直到另外一個系統:
<code>pip freeze > requirement.txt/<code>
這樣就把虛擬環境裡的包和版本讀取到requirement.txt裡,如果想在另一個系統配置安裝這些包可以使用pip:
<code>pip install -r requirement.txt/<code>
pipenv更加強大一些,pipenv之於Python就相當於Php之於Composer、Nodejs之於npm、Golang之於dep,pipenv相當於virtualenv和pip的合體,用兩點說明pipenv對比於virtualenv的優勢:
- virtualenv每次開發完都要手動執行一個pip freeze > requirement.txt 把項目最新的環境讀取到requirement中,如果忘記了就不能獲取最新的配置環境,而pipenv可以實時監測環境的改變,把最新的環境讀取到Pipfile。
- virtualenv需要先激活虛擬環境,然後用pip配置,而pipenv可以直接使用pipenv進行配置環境
pipenv使用步驟:
- 創建
<code>pipenv check/<code>
這是目錄下會生成Pipfile。
- 啟動虛擬環境
<code>pipenv shell/<code>
- 安裝第三方包
<code>pipenv install **/<code>
- 退出虛擬環境
<code>exit/<code>
- 查看所有安裝包
<code>pip list/<code>
- 查看包依賴關係
<code>pipenv graph/<code>
- 查看虛擬環境路徑
<code>pipenv --venv/<code>
- 卸載安裝包
<code>pipenv uninstall/<code>
以上就是兩款常用的虛擬環境管理工具,相比而言pipenv更加強大,而我個人用virtualenv更久一些,所以也習慣用virtualenv,每個人可以根據自己的喜好進行選擇。
閱讀更多 超愛學編程 的文章