Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #17061
| From | Robert Kern <robert.kern@gmail.com> |
|---|---|
| Subject | Re: What happened to module.__file__? |
| Date | 2011-12-12 16:38 +0000 |
| References | <4ee54918$0$11091$c3e8da3@news.astraweb.com> <4EE557F6.5040900@mrabarnett.plus.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.3558.1323707893.27778.python-list@python.org> (permalink) |
On 12/12/11 1:25 AM, MRAB wrote: > On 12/12/2011 00:21, Steven D'Aprano wrote: >> I've just started using a Debian system, instead of the usual RedHat >> based systems I'm used to, and module.__file__ appears to have >> disappeared for some (but not all) modules. >> >> On Fedora: >> >> [steve@orac ~]$ python -E >> Python 2.6.2 (r262:71600, Aug 21 2009, 12:22:21) >> [GCC 4.4.1 20090818 (Red Hat 4.4.1-6)] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >>>>> import math >>>>> math.__file__ >> '/usr/lib/python2.6/lib-dynload/mathmodule.so' >> >> >> >> and on Debian squeeze: >> >> steve@runes:~$ python -E >> Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40) >> [GCC 4.4.5] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >>>>> import math >>>>> math.__file__ >> Traceback (most recent call last): >> File "<stdin>", line 1, in<module> >> AttributeError: 'module' object has no attribute '__file__' >> >> >> What's going on? >> > The documentation for __file__ says: """The __file__ attribute is not > present for C modules that are statically linked into the interpreter; > for extension modules loaded dynamically from a shared library, it is > the pathname of the shared library file.""" > > Interestingly, none of the versions on Windows that I've tried have > that attribute for the math module. Is it platform-dependent? It is build-dependent. Windows builds typically have math and several other stdlib "extension" modules built into the PythonXY.dll . Unix builds typically, but apparently not always, leave mathmodule.so and others as separate extension modules. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco
Back to comp.lang.python | Previous | Next — Previous in thread | Find similar | Unroll thread
What happened to module.__file__? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-12-12 00:21 +0000 Re: What happened to module.__file__? MRAB <python@mrabarnett.plus.com> - 2011-12-12 01:25 +0000 Re: What happened to module.__file__? Robert Kern <robert.kern@gmail.com> - 2011-12-12 16:38 +0000
csiph-web