<div dir="ltr">Hi Daniel,<div>Thanks for the reproduction. Can you open an issue on CodePlex (<a href="https://ironpython.codeplex.com/WorkItem/Create">https://ironpython.codeplex.com/WorkItem/Create</a>)? This should be easy to fix for 2.7.4.</div>
<div><br></div><div>- Jeff<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Jul 13, 2013 at 4:11 PM, Daniel Fernandez <span dir="ltr"><<a href="mailto:fernandez_dan2@hotmail.com" target="_blank">fernandez_dan2@hotmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div><div dir="ltr">Hi All,<div><br></div><div>I was just playing with this and it looks like the in class ApiModule in __apipkg the attributes not being looked up correctly with __makeattr</div><div><br></div><div>I was able to reproduce this issue with the snippet of code (tried to make it as small as possible)</div>
<div><br></div><div><div>from types import ModuleType</div><div>class ApiModule(ModuleType):</div><div><span style="white-space:pre-wrap">        </span>def __init__(self, name="", importspec="", implprefix=None, attr=None):</div>
<div><span style="white-space:pre-wrap">          </span>pass</div><div><span style="white-space:pre-wrap">     </span>def __makeattr(self, name):</div><div><span style="white-space:pre-wrap">              </span>return name</div><div><span style="white-space:pre-wrap">      </span>__getattr__ = __makeattr</div>
<div><br></div><div>t = ApiModule()</div><div>t.Std</div><div><br></div><div>Python 2.7.5 returned this</div><div><br></div><div><div>Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32</div>
<div class="im"><div>Type "help", "copyright", "credits" or "license" for more information.</div></div><div>>>> from types import ModuleType</div><div>>>> class ApiModule(ModuleType):</div>
<div>...     def __init__(self, name="", importspec="", implprefix=None, attr=None):</div><div>...             pass</div><div>...     def __makeattr(self, name):</div><div>...             return name</div>
<div>...     __getattr__ = __makeattr</div><div>...</div><div>>>> t = ApiModule()</div><div>>>> t.Std</div><div>'Std'</div></div><div><br></div><div>IronPython 2.7.3 returned this</div><div><br></div>
<div><div>IronPython 2.7.3 (2.7.0.40) on .NET 4.0.30319.18051 (32-bit)</div><div class="im"><div>Type "help", "copyright", "credits" or "license" for more information.</div></div><div>
>>> from types import ModuleType</div><div>>>> class ApiModule(ModuleType):</div><div>...     def __init__(self, name="", importspec="", implprefix=None, attr=None):</div><div>...         pass</div>
<div>...     def __makeattr(self, name):</div><div>...         return name</div><div>...     __getattr__ = __makeattr</div><div>...</div><div>>>> t = ApiModule()</div><div>>>> t.Std</div><div class="im">
<div>Traceback (most recent call last):</div><div>  File "<stdin>", line 1, in <module></div></div><div>AttributeError: 'PythonModule_4$4' object has no attribute 'Std'</div></div><div>
<br></div><div><br></div><div>if I inherit from object instead of ModuleType it works in IronPython not sure if with inheritance of ModuleType</div><div><br></div><div>Danny</div><br><div><hr>From: <a href="mailto:timoteo1097@gmail.com" target="_blank">timoteo1097@gmail.com</a><br>
Date: Thu, 11 Jul 2013 17:51:00 -0700<div class="im"><br>Subject: Re: [Ironpython-users] PyTest incompatible: Unsupported param dictionary type: IronPython.Runtime.PythonDictionary<br></div>To: <a href="mailto:fernandez_dan2@hotmail.com" target="_blank">fernandez_dan2@hotmail.com</a><br>
CC: <a href="mailto:slide.o.mix@gmail.com" target="_blank">slide.o.mix@gmail.com</a>; <a href="mailto:ironpython-users@python.org" target="_blank">ironpython-users@python.org</a><div><div class="h5"><br><br><div dir="ltr">
Someone just informed me that <a href="http://ironpython.codeplex.com/workitem/33173" target="_blank">a fix for this issue</a> has shipped with the latest Beta. I have verified the fix.<div><br></div><div>However, I’m getting a new issue now. Is there a good way to manually install third party libraries onto IronPython? When I use PyTest’s setup.py on pure Python, it creates pytest.exe in C:\Python27\Scripts, but PyTest’s setup.py does not do this when I execute it with the IronPython interpreter.<br>


<br>I’m not sure if manually compiling it would get me around the current issue:<br><br>IronPython 2.7.4b1 (2.7.0.40) on .NET 4.0.30319.18052 (32-bit)<br>Type "help", "copyright", "credits" or "license" for more information.<br>


>>> import pytest<br>Traceback (most recent call last):<br>  File "<stdin>", line 1, in <module><br>  File "c:\Program Files (x86)\IronPython 2.7\lib\site-packages\pytest-2.3.5-py2.7.egg\pytest.py", line 15, in <module><br>


  File "c:\Program Files (x86)\IronPython 2.7\lib\site-packages\pytest-2.3.5-py2.7.egg\_pytest\core.py", line 462, in _preloadplugins<br>  File "c:\Program Files (x86)\IronPython 2.7\lib\site-packages\pytest-2.3.5-py2.7.egg\_pytest\core.py", line 95, in __init__<br>


  File "c:\Program Files (x86)\IronPython 2.7\lib\site-packages\pytest-2.3.5-py2.7.egg\_pytest\core.py", line 221, in import_plugin<br>AttributeError: 'PythonModule_6$6' object has no attribute 'std' </div>


</div><div><br><br><div>On Thu, Jul 11, 2013 at 7:17 AM, Daniel Fernandez <span dir="ltr"><<a href="mailto:fernandez_dan2@hotmail.com" target="_blank">fernandez_dan2@hotmail.com</a>></span> wrote:<br>

<blockquote style="border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div><div dir="ltr">Travis already created a issue I just added code snippet to the comments. The code snippet is not formatted correctly shouldn't have copied and pasted from my email but it works. <div><br></div><div>


Danny<br><div><br><div><hr>Date: Thu, 11 Jul 2013 07:02:30 -0700<div><br>Subject: Re: [Ironpython-users] PyTest incompatible: Unsupported param dictionary type: IronPython.Runtime.PythonDictionary<br></div>From: <a href="mailto:slide.o.mix@gmail.com" target="_blank">slide.o.mix@gmail.com</a><br>


To: <a href="mailto:fernandez_dan2@hotmail.com" target="_blank">fernandez_dan2@hotmail.com</a><br>CC: <a href="mailto:timoteo1097@gmail.com" target="_blank">timoteo1097@gmail.com</a>; <a href="mailto:ironpython-users@python.org" target="_blank">ironpython-users@python.org</a><div>


<div><br><br><div dir="ltr">Looks like a bug then, please file it on Codeplex and put in the test to reproduce it.</div><div><br><br><div>On Thu, Jul 11, 2013 at 6:59 AM, Daniel Fernandez <span dir="ltr"><<a href="mailto:fernandez_dan2@hotmail.com" target="_blank">fernandez_dan2@hotmail.com</a>></span> wrote:<br>



<blockquote style="border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div><div dir="ltr">I was able to reproduce this issue with this snippet of code. <div><br></div><div><div>>>> from types import ModuleType</div><div>>>> class A(ModuleType):</div><div>...     def __init__(self, d):</div>



<div>...         pass</div><div>...</div><div>>>> t = dict()</div><div>>>> A(d = t)</div><div><div>Traceback (most recent call last):</div><div>  File "<stdin>", line 1, in <module></div>



</div><div><div>SystemError: Unsupported param dictionary type: IronPython.Runtime.PythonDiction</div><div>ary</div><div><br></div></div><div>I could only reproduce it when the class inherits from ModuleType. </div>
<div><br></div><div>Danny</div><br><div><hr>Date: Wed, 10 Jul 2013 21:17:55 -0700<br>From: <a href="mailto:slide.o.mix@gmail.com" target="_blank">slide.o.mix@gmail.com</a><br>To: <a href="mailto:timoteo1097@gmail.com" target="_blank">timoteo1097@gmail.com</a><br>



CC: <a href="mailto:ironpython-users@python.org" target="_blank">ironpython-users@python.org</a><br>Subject: Re: [Ironpython-users] PyTest incompatible: Unsupported param dictionary type: IronPython.Runtime.PythonDictionary<div>



<div><br><br><div dir="ltr">Can you show what line 33 in _apipkg.py is? </div><div><br><br><div>On Wed, Jul 10, 2013 at 4:34 PM, Travis Lee <span dir="ltr"><<a href="mailto:timoteo1097@gmail.com" target="_blank">timoteo1097@gmail.com</a>></span> wrote:<br>




<blockquote style="border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">I'm trying to use <a href="http://pytest.org/latest/" target="_blank">PyTest</a> on IronPython. I haven't looked thoroughly but I've been told that PyTest does not use C extensions so it should theoretically work normally. <br>







</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><div>c:\>"c:\Program Files (x86)\IronPython 2.7\ipy.exe"</div><div>IronPython 2.7.3 (2.7.0.40) on .NET 4.0.30319.18047 (32-bit)</div>








<div>Type "help", "copyright", "credits" or "license" for more information.</div><div>>>> import pytest</div><div>Traceback (most recent call last):</div><div>  File "<stdin>", line 1, in <module></div>








<div>  File "C:\Users\***\AppData\Roaming\Python\IronPython27\site-packages\pytest-2.3.5-py2.7.egg\pytest.py", line 12, in <module></div><div>  File "C:\Users\***\AppData\Roaming\Python\IronPython27\site-packages\pytest-2.3.5-py2.7.egg\_pytest\core.py", line 7, in <module></div>








<div>  File "C:\Program Files (x86)\IronPython 2.7\Lib\site-packages\py\__init__.py", line 19, in <module></div><div>  File "C:\Program Files (x86)\IronPython 2.7\Lib\site-packages\py\_apipkg.py", line 33, in initpkg</div>








<div>SystemError: Unsupported param dictionary type: IronPython.Runtime.PythonDictionary</div></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">








I think it's expecting a standard Python dictionary. Is there any way around this?</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Thanks.</div>








</div>
<br>_______________________________________________<br>
Ironpython-users mailing list<br>
<a href="mailto:Ironpython-users@python.org" target="_blank">Ironpython-users@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/ironpython-users" target="_blank">http://mail.python.org/mailman/listinfo/ironpython-users</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Website: <a href="http://earl-of-code.com" target="_blank">http://earl-of-code.com</a>
</div>
<br>_______________________________________________
Ironpython-users mailing list
<a href="mailto:Ironpython-users@python.org" target="_blank">Ironpython-users@python.org</a>
<a href="http://mail.python.org/mailman/listinfo/ironpython-users" target="_blank">http://mail.python.org/mailman/listinfo/ironpython-users</a></div></div></div></div>                                           </div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Website: <a href="http://earl-of-code.com" target="_blank">http://earl-of-code.com</a>
</div></div></div></div></div></div>                                          </div></div>
</blockquote></div><br></div></div></div></div></div>                                     </div></div>
<br>_______________________________________________<br>
Ironpython-users mailing list<br>
<a href="mailto:Ironpython-users@python.org">Ironpython-users@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/ironpython-users" target="_blank">http://mail.python.org/mailman/listinfo/ironpython-users</a><br>
<br></blockquote></div><br></div></div></div>