[Python-Dev] how to find the file path to an extension module at init time? (original) (raw)
Stefan Behnel stefan_ml at behnel.de
Mon Nov 14 14:27:16 CET 2011
- Previous message: [Python-Dev] how to find the file path to an extension module at init time?
- Next message: [Python-Dev] how to find the file path to an extension module at init time?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
mark florisson, 14.11.2011 12:55:
On 14 November 2011 08:18, Stefan Behnel wrote:
"Martin v. Löwis", 13.11.2011 21:46:
I'm asking specifically because I'd like to properly implement file in Cython modules at module init time. Why do you need to implement file? Python will set it eventually to its correct value, no? Well, yes, eventually. However, almost all real world usages are at module init time, not afterwards. So having CPython set it after running through the module global code doesn't help much. Perhaps Cython could detect use of file at module scope (if this package context function is not available), and if it's used it tries to use something akin to imp.findmodule(name) to find the path to the file and set file manually.
It's problematic. Depending on the import hooks that are in use, a second search for the already loaded but not yet instantiated module may potentially trigger a second try to load it. And if the module is already put into sys.modules, a second search may not return a helpful result.
Also, running a full import of "imp" along the way may have additional side effects, and the C-API doesn't have a way to just search for the path of a module.
Would this be feasible for python < 3.3?
It would certainly not be more than a work-around, but it could be made to work "well enough" in many cases. I'd definitely prefer having something that really works in both 2.7.x and 3.3+ over a half-baked solution in all of Py2.x.
Stefan
- Previous message: [Python-Dev] how to find the file path to an extension module at init time?
- Next message: [Python-Dev] how to find the file path to an extension module at init time?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]