踩过的那些坑...

可能天生克服务器…
忍不住记录一下 踩过的坑…

pycharm

pycharm 默认 terminal 修改为 powershell 后, 安装 package 无法找到 PATH

  • pip uninstall <package>
  • pip install <package>

    是的 在 terminal 中 卸载重新再装一下
    我是这么解决的… 懒得折腾原因了

sqlacodegen

使用 sqlacodegen 在 flask 中 生成 models.py 后, import models 报错

  • 原因

    在 windows 环境下使用 “> “ 符号 生成 models.py 时, filename 中会有一个空字符
  • 解决办法
    • 生成 models.py 的时候使用 --outfile <filename> 参数 未测试
    • 新建另一个 new.py, 然后 把 models.py 的内容粘贴复制到 new.py

apscheduler 框架

django 中使用

  • 场景
    在 job 中使用 django.db, job 调用时报 mysql has gone away 错误
  • 原因

    应该是 job 被调用的时使用了 django.db 中已关闭的连接 不知所云 ing
  • 解决方案

    job 中使用 django.db 之前关闭连接
    1
    django.db.close_old_connections()

flask 中任务重复运行

  • 场景
    flask 服务开启 debug 模式, tigger = interval 模式下, 修改代码服务自动重载后定时任务会启动两次, 其它模式下为验证
  • 原因

    scheduler.start() 在 debug 模式下被重载创建了新的进程

时区问题

在使用 apscheduler 框架是遇到 Unable to determine the name of the local timezone 错误

修改系统时区

1
2
3
4
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# centos7
timedatectl set-timezone Asia/Shanghai