Hi Tom and Richard,
I am sorry, but I cannot reproduce the error, which I described before. I created a new module with gr_modtool and added a sync *python* block
and all worked fine.
The problem might have vanished with my last git pull.
My lines in the .xml now look like the original ones again:
<import> import mymodule</import>
<make>mymodule.myblock(args)</make>
Tom: __init__.py is unchanged.
Richard: Yes, double the block_name in <make> was what I meant:
<make>mymodule.myblock.myblock(args)</make>
Do you have a recent git version of GR at hands?
Just a silly question: Did you export the PYTHONPATH variable?
Some more guesses - for comparison
I also export PATH (dir/bin/), LD_LIBRARY_PATH(dir/lib/), PKG_CONFIG_PATH (dir/lib/pkgconfig)
<dir> = /home/my_login/usr on my machine
This should not be of interest, but maybe it is still. I do this in ~/.profile (which gets loaded once you log in again, in Kubuntu 14.10)
I have no variables defined in the config folders ~/.gnuradio or ~/.grc_gnuradio.
Mit freundlichen Grüßen / Best regards
Stephan Ludwig
Robert Bosch GmbH
Corporate Sector Research & Advance Engineering, Communication Technology (CR/AEH4)
Renningen
70465 Stuttgart
GERMANY
www.bosch.com
Tel. +49(711)811-8809
Fax +49(711)811-1052
Mobile +49(172)5630639
address@hidden
Registered Office: Stuttgart, Registration Court: Amtsgericht Stuttgart, HRB 14000;
Chairman of the Supervisory Board: Franz Fehrenbach; Managing Directors: Dr. Volkmar Denner,
Dr. Stefan Asenkerschbaumer, Dr. Rolf Bulander, Dr. Stefan Hartung, Dr. Dirk Hoheisel, Christoph Kübel,
Uwe Raschke, Wolf-Henning Scheider, Dr. Werner Struth, Peter Tyroller
Von:
address@hidden [mailto:address@hidden]
Im Auftrag von Tom Rondeau
Gesendet: Freitag, 30. Januar 2015 11:38
An: Ludwig Stephan (CR/AEH4); GNURadio Discussion List
Betreff: Re: [Discuss-gnuradio] OOT Python Block
On Fri, Jan 30, 2015 at 5:31 AM, Ludwig Stephan (CR/AEH4) <address@hidden> wrote:
Hi Tom,
as far as I understood the original post, we talk about pure python blocks, hence no
impl.cc file. My experience is that gr_modtool makexml does not work for these blocks. I will try to reproduce the effect and will post this – but not before mid of next week.
Regards
Stephan
Ahh! Thanks for pointing that out. I had missed the fact that it was a Python block (and I rarely work with them myself).
Ok, I think the fix for that is to add a "from x import *" into the __init__.py file for the module where x is your Python block. We should test this and add it to gr_modtool to avoid this confusion in the future.
Von:
address@hidden [mailto:address@hidden]
Im Auftrag von Tom Rondeau
Gesendet: Freitag, 30. Januar 2015
09:45
An: Ludwig Stephan (CR/AEH4)
Cc: Richard Bell;
address@hidden
Betreff: Re: [Discuss-gnuradio] OOT Python Block
On Fri, Jan 30, 2015 at 2:03 AM, Ludwig Stephan (CR/AEH4) <address@hidden> wrote:
Hi Richard,
I noticed the same problem with some blocks in my own OOT module. I do not know why,
but if you change the lines in the GRC file to (if not already done)
<import> import my_module.my_block_name_here</import>
<make>my_module.my_block_name_here.my_block_name_here(…)</make>
(note the double block_name in <make>)
I do not remember right, but it might also be sufficient to change only either one of
the lines (you have to try on your own).
You can try by calling the from python. E.g. IPython has tab completion and you can
see by import my_module.<tab> (and so on for the make line), what block is how accessible.
Regards Stephan
That can't be right. You really shouldn't have to do that to get the block to work.
We periodically get this bug from our users, no one has ever explained how to reproduce it, and I've never seen this failure mode myself. As long as you used gr_modtool and made
the necessary changes to the files -- which really just means fixing the <+...+> in the impl.cc file -- then it should just "work".
Gesendet: Donnerstag, 29. Januar
2015 23:22
I've created a python block that I've tested via command line. It passes all qa tests. I've also created an xml file for it and installed it. I followed every step the OOT Python
Tutorial explains.
I see the category and block in gnuradio-companion. When I use my block in a flowgraph, upon to executing the graph I get
AttirbuteError: 'module' object has no attribute '<my_module_name_here>'
I've added the block build location to the PYTHONPATH variable and confirmed that I can import my module at a python command line.
What do I not have set correctly and what is this error telling me?
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio