lucene-pylucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andi Vajda <va...@apache.org>
Subject Re: [jira] [Commented] (PYLUCENE-51) "AttributeError: __module__" when running doctest
Date Thu, 17 Oct 2019 17:57:02 GMT

Ah yes, I forgot about JArray. One sec.

On Thu, 17 Oct 2019, Petrus Hyvönen (Jira) wrote:

>
>    [ https://issues.apache.org/jira/browse/PYLUCENE-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16953958#comment-16953958
]
>
> Petrus Hyvönen commented on PYLUCENE-51:
> ----------------------------------------
>
> Many Thanks for looking into this, most classes seems to have this property now but the
JArray_* seems to use some other mechanism and do not have this?
>
>> "AttributeError: __module__" when running doctest
>> -------------------------------------------------
>>
>>                 Key: PYLUCENE-51
>>                 URL: https://issues.apache.org/jira/browse/PYLUCENE-51
>>             Project: PyLucene
>>          Issue Type: Bug
>>         Environment: Ubuntu 19.04, Python 3.7
>>            Reporter: Clément Jonglez
>>            Priority: Major
>>
>> Dear all,
>> I am using the Orekit Python wrapper by [~petrush] . I am running into errors &
warnings when trying to run tests with doctest. When collecting tests, it analyzes the classes
(all the 1000+ wrapped Java classes it seems) and runs into the following error:
>> {noformat}
>> [...]/lib/python3.7/site-packages/pytest_doctestplus/plugin.py:137: in collect
>>  for test in finder.find(module):
>>  [...]/lib/python3.7/site-packages/pytest_doctestplus/plugin.py:425: in find
>>  extraglobs)
>>  [...]/lib/python3.7/doctest.py:932: in find
>>  self._find(tests, obj, name, module, source_lines, globs, {})
>>  [...]/lib/python3.7/doctest.py:993: in _find
>>  self._from_module(module, val)):
>>  [...]/lib/python3.7/doctest.py:960: in _from_module
>>  return module._name_ == object._module_
>>  E AttributeError: _module_{noformat}
>> 
??> In doctest ([https://github.com/python/cpython/blob/master/Lib/doctest.py#L959]), the
>> {code:java}
>> inspect.isclass(object) {code}
>> condition at line 959 returns `True`, and therefore doctest tries to access the object's
__module__ attribute, which does not seem to exist.
>> Besides, pytest prints a warning for each Java class being wrapped, also because
they have no __module__ attribute (this is one example of 1000+ warnings):
>> {noformat}
>> [...]/lib/python3.7/importlib/bootstrap.py:219: DeprecationWarning: builtin type
ExtendedKalmanFilter has no __module_ attribute
>>  return f(*args, **kwds){noformat}
>> This phenomenon is new because 6 months ago I could run pytest & doctest successfully
with Orekit. I could not find which module contains the change that broke stuff since then
though.
>> To reproduce the phenomenon, you can check out [https://github.com/GorgiAstro/poliastro/blob/orekit-validation/src/poliastro/tests/tests_twobody/test_propagation.py#L164]
>>  I was trying to validate some poliastro features using the Orekit python wrapper.
So this code requires poliastro, it is available on conda-forge.
>> Cheers
>> Clément
>
>
>
> --
> This message was sent by Atlassian Jira
> (v8.3.4#803005)
>
Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message