This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2009年01月05日 16:00 by exarkun, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Messages (4) | |||
|---|---|---|---|
| msg79159 - (view) | Author: Jean-Paul Calderone (exarkun) * (Python committer) | Date: 2009年01月05日 16:00 | |
Here's a transcript demonstrating the disagreement: exarkun@charm:~$ mkdir warningexample exarkun@charm:~$ cd warningexample/ exarkun@charm:~/warningexample$ mkdir foo exarkun@charm:~/warningexample$ touch foo/__init__.py exarkun@charm:~/warningexample$ cat > foo/bar.py import warnings def foo(): warnings.warn("foo") exarkun@charm:~/warningexample$ python -c 'import foo.bar' exarkun@charm:~/warningexample$ mv foo bar exarkun@charm:~/warningexample$ python -c 'import bar.bar; bar.bar.foo()' bar/bar.py:3: UserWarning: foo warnings.warn("foo") exarkun@charm:~/warningexample$ python -c 'import bar.bar, inspect; print inspect.getabsfile(bar.bar.foo)' /home/exarkun/warningexample/foo/bar.py exarkun@charm:~/warningexample$ Notice that the warning is emitted for the file bar/bar.py but the inspect module claims that the function which emitted the warning is defined in /home/exarkun/warningexample/foo/bar.py. It seems that the warning system has somehow noticed that the .pyc file has the wrong source file listed and has figured out the correct file name, whereas the inspect module is blindly following the contents of the .pyc file. It would be great if the inspect module were at least as good at figuring out filenames as the warnings system. |
|||
| msg79161 - (view) | Author: Jean-Paul Calderone (exarkun) * (Python committer) | Date: 2009年01月05日 16:40 | |
Perhaps even more disconcerting is the disagreement between inspect.getabsfile(f) and inspect.getabsfile(inspect.getmodule(f)). The latter agrees with the warnings system, unlike the former which just looks at the filename in the .pyc. |
|||
| msg79164 - (view) | Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) | Date: 2009年01月05日 16:55 | |
This is a duplicate of issue1180193. Does the patch there correct your problem? |
|||
| msg79168 - (view) | Author: Jean-Paul Calderone (exarkun) * (Python committer) | Date: 2009年01月05日 17:12 | |
After updating the patch there so that it can be applied, it does seem to address my issue. I added a comment there. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:43 | admin | set | github: 49095 |
| 2009年01月05日 17:12:23 | exarkun | set | messages: + msg79168 |
| 2009年01月05日 16:55:35 | amaury.forgeotdarc | set | status: open -> closed resolution: duplicate superseder: broken pyc files messages: + msg79164 nosy: + amaury.forgeotdarc |
| 2009年01月05日 16:40:20 | exarkun | set | messages: + msg79161 |
| 2009年01月05日 16:00:39 | exarkun | create | |