Please enable Javascript to view the contents

开发 Tips(6)

 ·  ☕ 1 分钟

主要记录最近遇到的一些开发问题,解决方法。

1. Python3 连接数据库

Python3 主要有两个数据库连接客户端: mysqlclient 和 PyMySQL 。

  • mysqlclient 是由 C 语言实现的
  • PyMySQL 是由 Python 实现的

在性能上, mysqlclient 比 PyMySQL 高一个数量级。但,在 PyPy 下,PyMySQL 与 mysqlclient 性能相差不大。

如果需要使用 gevent 或 eventlet 的 monkeypatched 处理 socket, 那就选择 PyMySQL。

2. MySQL 报错 Table ‘performance_schema.session_variables’ doesn’t exist

执行如下命令,可解决:

1
2
3
mysql -u root -p
mysql> set @@global.show_compatibility_56=ON;
Query OK, 0 rows affected (0.00 sec)

参考链接: 将show_compatibilty OFF和PFS编译出来的SHOW命令的文档行为

3. 基于 Tag 进行 Git 开发

基于 Tag 创建分支:

1
git branch v4.2.0_docs v4.2.0

实际上,branch 可以是 分支,Tag,甚至 commit id。

切换到新建的分支:

1
git checkout v4.2.0_docs

查看提交者用户名和邮箱信息:

1
2
git config user.name
git config user.email

将新建的分支推送到远程:

1
git push origin v4.2.0_docs

4. VirtualBox 配置 Docker 加速器

编辑 .docker\machine\machines\default\config.json 文件,新增:

1
2
3
"RegistryMirror": [
    "http://f1361db2.m.daocloud.io"
],

5. pipenv 使用

  1. Pipfile

Pipfile 是社区拟定的依赖管理文件,用于替代 requirements.txt。Pipfile.lock 中记录了当前环境中安装的版本号和哈希值。

  1. 安装
1
pip install pipenv
  1. 创建环境
1
2
3
4
5
6
7
8
# Python3
pipenv --three
# Python2
pipenv --two
# 指定版本
pipenv --python 3.6
# 指定解释器
pipenv --python pypy3

这里的解释器,需要已经在本地安装,可以不加入 PATH 环境变量中。

  1. 进入环境
1
pipenv shell

微信公众号
作者
微信公众号