PY3.8在Pycharm2019内运行Django时,在Python Console报错TypeErr

PY3.8在Pycharm2019内运行Django时,在Python Console报错TypeErr

针对情况:

py3.8,Pycharm2019,Django3.x版本
另外提一句嘴,Django2.X不支持py3.8

解决办法:
找到报错的最后一行,将

code = init.__code__
    if PY3:
        new_code = types.CodeType(len(varnames),
                                  0,
                                  len(varnames),
                                  code.co_stacksize,
                                  code.co_flags,
                                  code.co_code,
                                  code.co_consts,
                                  code.co_names,
                                  varnames,
                                  code.co_filename,
                                  "__init__",
                                  code.co_firstlineno,
                                  code.co_lnotab,
                                  code.co_freevars,
                                  code.co_cellvars)
    elif JYTHON:
        from org.python.core import PyBytecode

改成:

code = init.__code__
    args = [
        len(varnames),
        0,
        len(varnames),
        code.co_stacksize,
        code.co_flags,
        code.co_code,
        code.co_consts,
        code.co_names,
        varnames,
        code.co_filename,
        "__init__",
        code.co_firstlineno,
        code.co_lnotab,
        code.co_freevars,
        code.co_cellvars
    ]
    if sys.version_info >= (3, 8, 0):
        # Python 3.8 and above supports positional-only parameters. The number of such
        # parameters is passed to the constructor as the second argument.
        args.insert(2, 0)
        new_code = types.CodeType(*args)
    elif JYTHON:
        from org.python.core import PyBytecode

希望不要踩坑… 这东西搞了我好几个小时~~~~

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值