New submission from Marc-Andre Lemburg: Here's the code:
def replace_paths_in_code(self, co): ... return types.CodeType(co.co_argcount, co.co_nlocals, co.co_stacksize, co.co_flags, co.co_code, tuple(consts), co.co_names, co.co_varnames, new_filename, co.co_name, co.co_firstlineno, co.co_lnotab, co.co_freevars, co.co_cellvars) Compare this to the code_new() C API doc string (and code): code(argcount, kwonlyargcount, nlocals, stacksize, flags, codestring,\n\ constants, names, varnames, filename, name, firstlineno,\n\ lnotab[, freevars[, cellvars]]) The kwonlyargcount is missing in the call used in .replace_paths_in_code(). The bug surfaces when trying to use the "-r" option of the freeze.py tool: Traceback (most recent call last): File "freeze.py", line 504, in <module> main() File "freeze.py", line 357, in main mf.import_hook(mod) File "/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py", line 123, in import_hook q, tail = self.find_head_package(parent, name) File "/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py", line 179, in find_head_package q = self.import_module(head, qname, parent) File "/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py", line 272, in import_module m = self.load_module(fqname, fp, pathname, stuff) File "/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py", line 303, in load_module co = self.replace_paths_in_code(co) File "/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py", line 569, in replace_paths_in_code consts[i] = self.replace_paths_in_code(consts[i]) File "/home/lemburg/egenix/projects/PyRun/tmp-3.4-ucs2/lib/python3.4/modulefinder.py", line 575, in replace_paths_in_code co.co_freevars, co.co_cellvars) TypeError: an integer is required (got type bytes) ---------- components: Library (Lib) keywords: 3.4regression messages: 220174 nosy: lemburg priority: normal severity: normal status: open title: modulefinder uses wrong CodeType signature in .replace_paths_in_code() versions: Python 3.4, Python 3.5 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21707> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com