之前运行的好好的pycharm文件运行不了

C:\Users\LENOVO\venv\Scripts\python.exe “D:\pyCharm\PyCharm 2018.3.2\helpers\pydev\pydevconsole.py” --mode=client --port=55573
Traceback (most recent call last):
File “D:\pyCharm\PyCharm 2018.3.2\helpers\pydev\pydevconsole.py”, line 33, in
from _pydev_bundle.pydev_console_utils import BaseInterpreterInterface
File “D:\pyCharm\PyCharm 2018.3.2\helpers\pydev_pydev_bundle\pydev_console_utils.py”, line 11, in
from _pydevd_bundle import pydevd_thrift
File “D:\pyCharm\PyCharm 2018.3.2\helpers\pydev_pydevd_bundle\pydevd_thrift.py”, line 17, in
from pydev_console.protocol import DebugValue, GetArrayResponse, ArrayData, ArrayHeaders, ColHeader, RowHeader,
File “D:\pyCharm\PyCharm 2018.3.2\helpers\pydev\pydev_console\protocol.py”, line 6, in
_console_thrift = shaded_thriftpy.load(os.path.join(os.path.dirname(os.path.realpath(file)), “console.thrift”),
File "D:\pyCharm\PyCharm 2018.3.2\helpers\third_party\thriftpy_shaded_thriftpy\parser_init
.py", line 29, in load
thrift = parse(path, module_name, include_dirs=include_dirs,
File “D:\pyCharm\PyCharm 2018.3.2\helpers\third_party\thriftpy_shaded_thriftpy\parser\parser.py”, line 502, in parse
parser.parse(data)
File “D:\pyCharm\PyCharm 2018.3.2\helpers\third_party\thriftpy_shaded_ply\yacc.py”, line 331, in parse
return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
File “D:\pyCharm\PyCharm 2018.3.2\helpers\third_party\thriftpy_shaded_ply\yacc.py”, line 1106, in parseopt_notrack
p.callable(pslice)
File “D:\pyCharm\PyCharm 2018.3.2\helpers\third_party\thriftpy_shaded_thriftpy\parser\parser.py”, line 212, in p_struct
val = _fill_in_struct(p[1], p[3])
File “D:\pyCharm\PyCharm 2018.3.2\helpers\third_party\thriftpy_shaded_thriftpy\parser\parser.py”, line 765, in _fill_in_struct
gen_init(cls, thrift_spec, default_spec)
File “D:\pyCharm\PyCharm 2018.3.2\helpers\third_party\thriftpy_shaded_thriftpy\thrift.py”, line 103, in gen_init
cls.init = init_func_generator(default_spec)
File “D:\pyCharm\PyCharm 2018.3.2\helpers\third_party\thriftpy_shaded_thriftpy_compat.py”, line 102, in init_func_generator
new_code = types.CodeType(len(varnames),
TypeError: an integer is required (got type bytes)
新建文件可以运行

解决方法:
把python/helpers/third_party/thriftpy/_shaded_thriftpy/_compat.py文件出错的地方的代码:

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

改成

    if PY3:
        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
  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值