|
From: | Bachmaier, Luca |
Subject: | AW: Struggling with 3.10 OOT Module Porting: AttributeError: module has no attribute |
Date: | Mon, 12 Sep 2022 14:15:25 +0000 |
Hello Vasil, Thank you for your help. Editing
python/__init__.py did solve my current problem: After changing the exception handling to the following I was able to move on to other issues while porting. try: # this might fail if the module is python-only from .myModule_python import * except ImportError: dirname, filename = os.path.split(os.path.abspath(__file__)) __path__.append(os.path.join(dirname, "bindings")) from . myModule _python import * except ModuleNotFoundError: dirname, filename = os.path.split(os.path.abspath(__file__)) __path__.append(os.path.join(dirname, "bindings")) from . myModule_python import * Re-installing my module gave me this cmake error: CMake Error at lib/CMakeLists.txt … Target “gnuradio-myModule” links to: gnuradio::gnuradio-fec but the target was not found. I was able to solve this by removing the
gnuradio:: qualifier from
gnuradio-fec and
gnuradio-analog. For some reason, only
gnuradio-fec but not
gnuradio::gnuradio-fec is known. Could this be an unintended bug? Under Gnu Radio 3.8.5
gnuradio::gnuradio-fec
was able to be found. But right now I’m struggling with a new problem that I’m unable to solve: Calling import myModule_python in
gr-myModule/build/python/myModule/bindings/ throws a segmentation fault which gets traced back to
/usr/local/lib/python3.10/dist-packages/gnuradio/gr/__init__.py The line responsible for the segfault is: log.set_level(prefs().get_string("LOG", "log_level", "notset")) Context for the line: log = gr.logger("log") log.set_level(prefs().get_string("LOG", "log_level", "notset")) log_debug = gr.logger("log_debug") Again I would be very thankful if someone could help me. Thank you and regards, Luca >-----Ursprüngliche Nachricht----- >Von: Vasil Velichkov <vvvelichkov@gmail.com> >Gesendet: Freitag, 9. September 2022 15:06 >An: Bachmaier, Luca <luca.bachmaier@iis.fraunhofer.de>; discuss- >gnuradio@gnu.org >Betreff: Re: Struggling with 3.10 OOT Module Porting: AttributeError: module >has no attribute > >Hi Luca, > >On 09/09/2022 10.58, Bachmaier, Luca wrote: >> Dear all, >> >> I'm currently porting some of my modules from GNU Radio 3.8 to 3.10 and >experiencing issues with (probably) pybind. My system setup is: Debian 11, >GNU Radio 3.10.3.0. >> >> My flow graphs that include the 3.8 modules are able to compile, but are not >able to run due to the following error: >> File "home/user/.grc_gnuradio/myModule_sync.py", line 56 in >__init__ >> Self.myModule_myblock_0 = myModule.myblock(0, 0) >> AttributeError: module 'myModule' has no attribute 'myblock' > >Open `python/__init__.py`, check if there is `except ImportError:` and replace >it with `except ModuleNotFoundError:`, then reinstall and try again. > >See also https://github.com/gnuradio/gnuradio/issues/3884 > >Regards, >Vasil |
[Prev in Thread] | Current Thread | [Next in Thread] |