makemigration导致错误“ TypeError:预期的str,字节或os.PathLike对象,而不是NoneType”

时间:2019-05-10 02:47:04

标签: python django python-3.x database-migration django-migrations

在docker容器中运行makemigration命令导致此错误,有人可以帮我找出问题所在吗?

python3.7 manage.py makemigrations
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/reportlab/lib/utils.py", line 667, in open_for_read
    return open_for_read_by_name(name,mode)
  File "/usr/local/lib/python3.7/site-packages/reportlab/lib/utils.py", line 611, in open_for_read_by_name
    return open(name,mode)
TypeError: expected str, bytes or os.PathLike object, not NoneType

2 个答案:

答案 0 :(得分:0)

您使用的是旧版本的django

from importlib import import_module
import_module('yourapp.migrations')

import_module行为在python 3.6(或3.7,我不记得了)中已更改。

要么改变您的django版本,要么使用python <3.7

答案 1 :(得分:0)

请检查是否缺少 your_app/migrations/__init__.py

如果它不存在,django 可能会抛出这个异常和在这种情况下的解决方案

->添加__init__.py再次执行python manage.py makemigrations