[Python-Dev] how important is setting co_filename for a module being imported to what file is set to? (original) (raw)

Brett Cannon brett at python.org
Mon Aug 31 21:59:46 CEST 2009


On Mon, Aug 31, 2009 at 12:27, Antoine Pitrou<solipsis at pitrou.net> wrote:

Brett Cannon <brett python.org> writes:

I will plan to take this approach then; http://bugs.python.org/issue6811 will track all of this. Since this is a 3.2 thing I am not going to rush to implement this. I still don't understand what the point is of this complicated approach (adding an argument to marshal.load()) compared to the simple and obvious approach (making cofilename mutable).

If we add the argument to marshal.load* we can eventually drop the file location string from marshal data entirely by requiring people to specify the filename to use when the code object is created. Making co_filename mutable simply doesn't allow for this case unless we decide a default value should be used instead.

Besides, the latter would let you code the recursive renaming algorithm in Python, which is the whole point of importlib (rewriting most code in Python), isn't it?

Sure, but I am not about to re-implement marshal in pure Python just because importlib uses it.

-Brett



More information about the Python-Dev mailing list