# 开发环境配置
## 后端开发环境准备
### 安装pipenv
```
pip install https://dev.tencent.com/u/zhengwenjie/p/pipenv/git/archive/v1.0.0.tar.gz#egg=pipenv --user -U
```
### 安装flake8\isort\mypy
```
pip install --user flake8 isort black mypy
pip install --user -U pyflake
```
- 修复python3.8出现has no attribute 'NAMEDEXPR'"的问题
···问题详情:
```
"pyflakes" failed during execution due to "'FlakesChecker' object has no attribute 'NAMEDEXPR'"
```
···解决:
```
pip install git+https://gitee.com/waketzheng/pyflakes.git --user --upgrade
```
### 安装rabbitmq
```
# ubuntu
sudo apt update
sudo apt install rabbitmq-server
sudo systemctl enable rabbitmq-server
# mac
brew update
brew install rabbitmq
brew services start rabbitmq
```
### 配置rabbitmq
```
# ubuntu 可能需要加sudo
rabbitmqctl add_user waket 123456
rabbitmqctl add_vhost beyond
rabbitmqctl set_user_tags waket administrator
rabbitmqctl set_permissions -p beyond waket ".*" ".*" ".*"
```
### 安装memcache
https://www.howtoforge.com/how-to-install-memcached-on-ubuntu-1804/
```
sudo apt update -y
sudo apt install memcached libmemcached-tools -y
sudo systemctl start memcached
sudo systemctl enable memcached
sudo systemctl status memcached
```
### 安装python包
```
pipenv shell
pipenv install --dev
```
### 常用命令
#### 静态检查
```
mypy .
```
#### 代码安全性检查
```
bandit -r .
```
#### 单元测试
```
coverage run -m pytest
```
#### 代码测试覆盖率
```
coverage report -m
# Or run in one line: coverage run -m pytest && coverage report -m
```