涉及到的組件
- pipenv: 包自動(dòng)管理工具肩榕,類似 npm
- vscode: 最好用的開(kāi)發(fā) IDE
- flake8: 替代的 linter 工具
- flake8-mypy: 支持 type hints 的 linter 擴(kuò)展
安裝依賴
安裝 python3皮璧、pipenv
$ brew install python3 pipenv
安裝 linter 工具
$ python -m pip install flake8 flake8-mypy
pipenv 的使用
pipenv 默認(rèn)的虛擬環(huán)境在用戶目錄下的 .local/share/virtualenvs
里,這樣在多人協(xié)作時(shí),vscode 配置的 python.pythonPath 可能不同,導(dǎo)致 .vscode/settings.json 無(wú)法提交到 GIT 倉(cāng)庫(kù)。
所以我希望把虛擬環(huán)境安裝在項(xiàng)目目錄里蝇完,最方便的實(shí)現(xiàn)方式是:在項(xiàng)目根目錄創(chuàng)建 .venv 目錄,pipenv 會(huì)自動(dòng)對(duì)本項(xiàng)目開(kāi)啟 PIPENV_VENV_IN_PROJECT
诅挑,這樣比修改全局參數(shù)更靈活(export PIPENV_VENV_IN_PROJECT=1
)
$ mkdir .venv
# 查看當(dāng)前項(xiàng)目的虛擬環(huán)境目錄
$ pipenv --venv
pipenv 自動(dòng)生成的配置文件:
-
Pipfile
依賴配置文件 -
Pipfile.lock
版本鎖定文件
如果安裝新包四敞,如 requests
$ pipenv install requests
如果原來(lái)有 requirements.txt泛源,可以直接執(zhí)行 install
$ pipenv install -r requirements.txt
根據(jù) Pipfile 安裝依賴包(-dev
包括 dev 環(huán)境的包)
$ pipenv install -dev
配置 vscode
關(guān)聯(lián)虛擬環(huán)境拔妥,配置 linter、分析工具
{
// 選擇虛擬環(huán)境里的Python
"python.pythonPath": ".venv/bin/python",
// 關(guān)閉默認(rèn)代碼分析庫(kù)jedi达箍,重啟會(huì)自動(dòng)切換為 Python Language Server
"python.jediEnabled": false,
// [非必配] 修改代碼分析日志級(jí)別没龙,方便分析問(wèn)題
"python.analysis.logLevel": "Trace",
// 關(guān)閉默認(rèn)的pylint
"python.linting.pylintEnabled": false,
// 開(kāi)啟flake8 lint
"python.linting.flake8Enabled": true,
// 修改flake8配置,如修改行最大長(zhǎng)度
"python.linting.flake8Args": ["--max-line-length=180"]
}
重啟 vscode缎玫,使之生效