You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django runserver报错ValueError:源代码字符串不能包含空字节

Django启动报错:ValueError: source code string cannot contain null bytes

环境信息

  • Django版本:4.1
  • Python版本:3.10.6(基于Docker镜像python:3.10.6)

报错堆栈

django shell commands
Traceback (most recent call last):
  File "/srv/project/./manage.py", line 9, in <module>
    from django.core.management import execute_from_command_line
  File "/usr/local/lib/python3.10/site-packages/django/core/management/__init__.py", line 16, in <module>
    from django.apps import apps
  File "/usr/local/lib/python3.10/site-packages/django/apps/__init__.py", line 1, in <module>

  File "/usr/local/lib/python3.10/site-packages/django/apps/config.py", line 13, in <module>
  File "/usr/local/lib/python3.10/site-packages/django/apps/config.py", line 62, in AppConfig
  File "/usr/local/lib/python3.10/site-packages/django/utils/functional.py", line 27, in __init__
    from django.utils.deprecation import RemovedInDjango50Warning
  File "/usr/local/lib/python3.10/site-packages/django/utils/deprecation.py", line 5, in <module>
    from asgiref.sync import sync_to_async
ValueError: source code string cannot contain null bytes

解决方法

这个错误的核心是Python源文件中存在空字节(null bytes),通常由文件损坏、传输异常或镜像构建问题导致,可按以下步骤排查修复:

1. 重建依赖包

报错触发于导入asgiref.sync,大概率是依赖包文件损坏,重新安装相关依赖:

pip uninstall django asgiref -y
pip install django==4.1 asgiref

如果是Docker环境,构建镜像时添加--no-cache-dir避免缓存干扰,或直接重新构建:

docker build --no-cache -t your-app-image .

2. 检查项目文件完整性

扫描项目内所有.py文件,定位包含空字节的文件:

grep -r "\x00" /srv/project/

找到异常文件后,从备份或版本控制系统中恢复正常版本。

3. 验证基础镜像完整性

拉取最新的官方Python基础镜像,避免本地镜像损坏:

docker pull python:3.10.6 --no-cache

之后重新构建应用镜像,确保构建流程无异常。

内容的提问来源于stack exchange,提问作者CurlyError

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:50:12