开发 Tips(6)

2023年 1月 4日 8.5k 0

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

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 使用

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

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

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

  • 进入环境
  • 1
    
    pipenv shell
    

    相关文章

    KubeSphere 部署向量数据库 Milvus 实战指南
    探索 Kubernetes 持久化存储之 Longhorn 初窥门径
    征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
    那些年在 Terraform 上吃到的糖和踩过的坑
    无需 Kubernetes 测试 Kubernetes 网络实现
    Kubernetes v1.31 中的移除和主要变更

    发布评论