如何让Git Bash下Django runserver的输出内容立即自动刷新
Django开发服务在Git Bash下输出延迟解决方法
该现象是Git Bash终端下Python默认开启全量输出缓冲导致的,Django的启动日志会先写入缓冲区,直到进程退出、代码改动触发重载或缓冲区满时才会打印到终端,并非Django本身配置问题,可通过以下方案解决:
- 方案1:单次启动时加
-u参数禁用缓冲
执行启动命令时添加Python的无缓冲参数即可:python -u manage.py runserver - 方案2:配置环境变量永久生效
若不想每次都输入参数,可在Git Bash中执行以下命令为当前会话设置无缓冲环境变量:
如需全局生效,将上述命令写入Git Bash的export PYTHONUNBUFFERED=1~/.bashrc或~/.bash_profile配置文件,重启Git Bash后所有Python程序都会默认禁用输出缓冲。 - 方案3:虚拟环境专属配置
如果使用虚拟环境,可将export PYTHONUNBUFFERED=1添加到虚拟环境的激活脚本中(Windows虚拟环境对应Scripts/activate文件),每次激活虚拟环境时自动加载配置,不影响全局环境。
配置完成后重新启动Django开发服务,即可实时看到完整的启动日志和后续请求输出。
内容的提问来源于stack exchange,提问作者AlwaysLearning
相关产品推荐
相关产品推荐

