介紹
換工作,換電腦一切需要重新開始,開發(fā)環(huán)境搭建真是個大工程。本文主要記錄下,python開發(fā)環(huán)境的搭建及優(yōu)化,輕松保持開發(fā)的快捷和高效。
選擇開發(fā)電腦
有條件的話Mac還是開發(fā)的首選,用習慣之后,要再換系統(tǒng)還真是難以割舍。第二推薦的原本是linux系統(tǒng),它能讓你在開發(fā)過程中能最接近生產(chǎn)環(huán)境,但痛點也還是比較明顯,一些常用的通訊軟件,流行的管理軟件沒有被支持,當然如果你是linux大神,這些都不是問題。所有第二推薦的便是windows10了,安全性是windows一直以來的毛病,但發(fā)展到現(xiàn)在,相較以前已經(jīng)很不錯了,再加上wsl的引入,讓windows系統(tǒng)變得更加強大,而且有多年以來孕育的強大軟件生態(tài),相信以后會越走越好。
搭建及優(yōu)化
通過pyenv進行python部署
這里不再推薦使用系統(tǒng)自帶的python版本進行服務部署,通過虛擬環(huán)境的部署可以實現(xiàn)運行環(huán)境的完全隔離,防止項目之間依賴沖突,造成運行環(huán)境的破壞。這里之所以推薦使用pyenv,是因為它基本上不依賴系統(tǒng)python版本,而且安裝方便易于管理。而在Windows系統(tǒng)下,沒有得到支持,所以這個推薦使用Windows進行開發(fā)的童鞋將開發(fā)環(huán)境放在wsl中,開發(fā)工具可以用vscode,vscode提供了remote development的插件,能讓你輕松的進行開發(fā)工作。
pyenv部署可以參考 https://www.antio.top/blog/2018/11/7/pythonxu-ni-huan-jing-guan-li-ruan-jian-pyenvan-zhuang-bu-shu/
python鏡像加速
采用阿里鏡像加速服務(對于新更新的版本可能找不到,依賴于阿里同步官方庫的時間)
# vi ~/.pip/pip.conf
[global]
trusted-host = mirrors.aliyun.com
index-url = https://mirrors.aliyun.com/pypi/simple
善用requirements.txt
在完成一個項目的開發(fā)后,建議創(chuàng)建一個干凈的虛擬環(huán)境,并確保程序正常跑起來,讓后通過如下命令,生成requirements.txt文件,并提交到代碼庫中,且盡量將第三發(fā)包版本都指定,避免因第三方包升級,導致項目無法正常運行。有requirements.txt的加持,能大大減小項目出問題的幾率。
pip freeze > requirements.txt
生產(chǎn)環(huán)境
在生產(chǎn)環(huán)境下部署有下面幾個參考方案
直接部署在生產(chǎn)主機上,可通過Jenkins等持續(xù)集成服務進行自動化部署
還是建議使用pyenv創(chuàng)建虛擬環(huán)境進行部署
通過docker打包鏡像,可通過Jenkins等持續(xù)集成服務進行自動化部署
這種方式部署的話,就不需要考慮pyenv的安裝了,直接在鏡像打包的時候指定python版本就可以了