[Ironpython-users] Differences with pyc-compiled assemblies?

Slide slide.o.mix at gmail.com
Mon Nov 12 19:39:50 CET 2012


Yes, codeplex has issues with pasting code, horrible horrible issues.

slide


On Mon, Nov 12, 2012 at 11:32 AM, Nicholas Devenish <misnomer at gmail.com>wrote:

> I've added it at http://ironpython.codeplex.com/workitem/33341
>
> The formatting is screwed up now because I didn't relies it wouldn't
> preserve any spacing (even returns!). I'm trying to fix it up, but the site
> seems very slow at the moment - about a minute between any requests to the
> site.
>
> For now, importing directly seems to work, or I'll play around with
> removing the call/warning to see if that works - it's only a deprecation.
>
> Many thanks,
>
> Nick
>
> On 12 Nov 2012, at 16:05, Jeff Hardy <jdhardy at gmail.com> wrote:
>
> On Mon, Nov 12, 2012 at 2:03 AM, Nicholas Devenish <misnomer at gmail.com>
> wrote:
>
> Hi Jeff again,
>
> In inspect.py, just before line 758, it looks at co.co_argcount and
> co.co_varnames and assumes that they are the same length, but my guess
> is that they might not be when compiled with pyc. If you can figure
> out exactly what getargspec is being called on, that might help make a
> simpler reproduction that I can work off of.
>
>
>
> I spent some time this morning trying to reduce down to a standalone test
> case; I've got it down to the following, and don't understand what is going
> wrong so can't work out what else to remove; sorry about the large chain of
> functions, but it seems to somehow be involved. I hope it is helpful:
>
> from functools import update_wrapper
> import inspect
>
> def decorator(target):
>    def decorate(fn):
>        return inspect.getargspec(fn)
>    return update_wrapper(decorate, target)
>
> def _decorate_with_warning(func):
>    @decorator
>    def warned(fn):
>      pass
>    warned(func)
>
> @_decorate_with_warning
> def execute_at(self, event_name, target):
>    def call_event(target, connection):
>        if self._somefun(event_name, target, connection):
>            pass
>
>
> As before, it runs fine as a standalone script
> $ ipy testipy.py
>
> But compiling with:
>
> pyc /out:TestIPy testily.py
> ipy
>
> import clr
> clr.AddReferenceToFileAndPath("TestIPy.dll")
> import testipy
>
>
> Gives the same traceback:
>
> Traceback (most recent call last):
>  File "runtest.py", line 3, in <module>
>  File "testipy", line 3, in <module>
>  File "testipy", line 14, in _decorate_with_warning
>  File "testipy", line 7, in decorate
>  File "c:\Program Files\IronPython 2.7\Lib\inspect.py", line 820, in
> getargspec
>  File "c:\Program Files\IronPython 2.7\Lib\inspect.py", line 762, in
> getargs
> IndexError: index out of range: 2
>
>
> I hope this is helpful!
>
>
> Very, thank you. Do you think you could open an issue
> (http://ironpython.codeplex.com/WorkItem/Create) and put the smaller
> repro in it? I'll try to take a look at it soon because I'm working on
> the compiler code anyway, but at least with an issue it won't get
> completely forgotten.
>
> - Jeff
>
>
>
> _______________________________________________
> Ironpython-users mailing list
> Ironpython-users at python.org
> http://mail.python.org/mailman/listinfo/ironpython-users
>
>


-- 
Website: http://earl-of-code.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20121112/ed434b60/attachment.html>


More information about the Ironpython-users mailing list