涉及到的组件
- pipenv: 包自动管理工具,类似 npm
- vscode: 最好用的开发 IDE
- flake8: 替代的 linter 工具
- flake8-mypy: 支持 type hints 的 linter 扩展
安装依赖
安装 python3、pipenv
$ brew install python3 pipenv
安装 linter 工具
$ python -m pip install flake8 flake8-mypy
pipenv 的使用
pipenv 默认的虚拟环境在用户目录下的 .local/share/virtualenvs
里,这样在多人协作时,vscode 配置的 python.pythonPath 可能不同,导致 .vscode/settings.json 无法提交到 GIT 仓库。
所以我希望把虚拟环境安装在项目目录里,最方便的实现方式是:在项目根目录创建 .venv 目录,pipenv 会自动对本项目开启 PIPENV_VENV_IN_PROJECT
,这样比修改全局参数更灵活(export PIPENV_VENV_IN_PROJECT=1
)
$ mkdir .venv
# 查看当前项目的虚拟环境目录
$ pipenv --venv
pipenv 自动生成的配置文件:
-
Pipfile
依赖配置文件 -
Pipfile.lock
版本锁定文件
如果安装新包,如 requests
$ pipenv install requests
如果原来有 requirements.txt,可以直接执行 install
$ pipenv install -r requirements.txt
根据 Pipfile 安装依赖包(-dev
包括 dev 环境的包)
$ pipenv install -dev
配置 vscode
关联虚拟环境,配置 linter、分析工具
{
// 选择虚拟环境里的Python
"python.pythonPath": ".venv/bin/python",
// 关闭默认代码分析库jedi,重启会自动切换为 Python Language Server
"python.jediEnabled": false,
// [非必配] 修改代码分析日志级别,方便分析问题
"python.analysis.logLevel": "Trace",
// 关闭默认的pylint
"python.linting.pylintEnabled": false,
// 开启flake8 lint
"python.linting.flake8Enabled": true,
// 修改flake8配置,如修改行最大长度
"python.linting.flake8Args": ["--max-line-length=180"]
}
重启 vscode,使之生效
网友评论