Re: [Discuss-gnuradio] Running flowgraphs from command line
Hey Michael, Hey Kevin, Hey all, thanks for your help! I found that by specifying the python version I want to use when running the file, everything works fine. Like this: python2.7 if_else_mod.py This would be acceptable for me, however, I decided to do some of the stuff you suggested. I get the following output when running env: Patricks-iMac:~ patrick$ env TERM_PROGRAM=Apple_Terminal SHELL=/bin/bash TERM=xterm-256color TMPDIR=/var/folders/3j/qy7_9bpx29g_nf_ymbkw_td0gn/T/ Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.11PeMdZFpD/Render TERM_PROGRAM_VERSION=343.7 TERM_SESSION_ID=1FC9A988-7B1E-4869-95D3-5FF71F9942F7 USER=patrick SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.0PyXsYlSwi/Listeners __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x3 PATH=/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin PWD=/Users/patrick DBUS_LAUNCHD_SESSION_BUS_SOCKET=/private/tmp/com.apple.launchd.dJkzL2MOo1/unix_domain_listener LANG=de_DE.UTF-8 XPC_FLAGS=0x0 XPC_SERVICE_NAME=0 SHLVL=1 HOME=/Users/patrick LOGNAME=patrick DISPLAY=/private/tmp/com.apple.launchd.KWH6aSklFz/org.macosforge.xquartz:0 _=/usr/bin/env I see that I only have a PATH variable set, but no PYTHONPATH. And /opt/local/bin seems to be the first in place?! With Patricks-iMac:bin patrick$ pwd /usr/bin Patricks-iMac:bin patrick$ ./py pydoc pythonpython2.6-config pythonw pydoc2.6 python-config python2.7 pythonw2.6 pydoc2.7 python2.6 python2.7-config pythonw2.7 I see that I have even more python installs. Now I ran Patricks-iMac:bin patrick$ which python /usr/bin/python Patricks-iMac:bin patrick$ port select --list python Available versions for python: none (active) python26-apple python27 python27-apple So terminal normally would run "python" (didn’t look up the version). And MacPorts? All this is what comes out of a clean OS X 10.9 install with an update to 10.10 and then a GNURadio install via MacPorts. Didn’t try yet to change one of the env variables or use the 'sudo port select python python27‘ command. What would your suggestions now be? What I don’t understand is why I have to tell MacPorts to use python2.7, if in fact I want to tell that to my terminal? Thanks & Regards Patrick > Am 08.09.2015 um 03:04 schrieb Michael Dickens: > > Hi Patrick - So what's happening is that with GRC, because it was > installed via MacPorts the MP version of Python is used. The terminal > only knows what you tell it via environment variables such as PYTHONPATH > (already suggested by Kevin Hofschröer) and PATH. In your case right > now, I'll bet that the PATH contains /usr/bin before /opt/local/bin (if > the latter is listed at all). If you do "which python", you'll see what > your shell is executing when you type "python" (again, better > /usr/bin/python [2.7 something]). Even if you add /opt/local/bin at the > start of PATH, you might still need to tell MP to select the version of > Python you want to use when you type "python" in the shell. You can list > the options port has via "port select --list python", and then select > Python 2.7 via "sudo port select python python27" if it not already > active. Combining this with making sure /opt/local/bin comes first in > PATH should solve your issue. Hope this helps! - MLD > > On Mon, Sep 7, 2015, at 12:29 PM, Patrick Krämer wrote: >> I installed GNURadio on a fresh machine with Mac OS X 10.10.5 via >> MacPorts. I now have 2 Python installs in /usr/bin, python2.6 and >> python2.7. Running flowgraphs with GRC is no problem. However, when >> trying to run a .py-file from the terminal, as suggested in the guided >> tutorial 3.1 („if else“) some modules are not found: >> >> Patricks-iMac:work patrick$ python if_else_mod.py Traceback (most >> recent call last): File "if_else_mod.py", line 18, in >> from PyQt4 import Qt ImportError: No module named PyQt4 >> >> >> Why does it work, when running the file from GRC? Is my terminal using >> the wrong python install? How could I change that? I also tried >> changing the path variable on my notebook a few days ago, when I ran >> into the same problem. But since I am new to python and the command >> line I obviously made a mistake so that at some point I could not >> start the GRC anymore. So your help is appreciated and needed. >> Couldn’t find a similar question in the archives. > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Running flowgraphs from command line
Hi Patrick - You're on the right track. We're just following what is written (roughly) in < http://gnuradio.org/redmine/projects/gnuradio/wiki/MacInstall >. Please also note that unless you play some tricks with the +quartz variant that is available many GR dependencies, you'll have to install XQuartz.app to get any GUI working (see also http://gnuradio.org/redmine/projects/gnuradio/wiki/MacInstall#Prerequisite-X11app-recommended-via-XQuartz ). Your shell env looks good; because MP's Python internally set their PYTHONPATH, you won't need to so long as you use MP-provided GR projects (e.g., gr-fosphor). If you want to do your own out-of-tree builds, you can install them pretty much anywhere so long as the libraries are linked correctly and PYTHONPATH is set correctly to wherever your OOT Python module is installed. You ask a variety of questions about Python usage in OSX. Apple provides Python 2.6 and 2.7 in /usr/bin in most modern OSX versions; in MP, you can get Python 2.7, 3.4, and 3.5rc3. MP does not provide the other Python versions because there really is no use case for them any longer : 2.7 supersedes 2.6, just as 3.4 does with 3.[0-3]; 3.5 when it is released should supersede 3.4, so we'll likely push end users to As to your question as to which 'python' is selected for use and when: The times it matters is when 'python' is issued either in a shell or in a script via "env python". In this case, the first 'python' found in the shell PATH is used. Thus, issuing "sudo port select python python27" means that, more often than not, 'python' will result in the MP version (2.7) being executed. Which in general is OK. When you need to use the OSX system one you can always do that by either removing /opt/local/bin from PATH or by specifying "env /usr/bin/python"; there are other ways too. But, as a general use-case having "which python" result in /opt/local/bin/python is not a bad idea. -That said-, you should never rely on a specific "python" being the one you expect it to be. If you want a specific Python, you'll red to test for it or just specify it up front, e.g., "/opt/local/bin/python2.7". Hope this continues to help! - MLD On Tue, Sep 8, 2015, at 03:34 AM, Patrick Krämer wrote: > Hey Michael, Hey Kevin, Hey all, > > thanks for your help! I found that by specifying the python version I > want to use when running the file, everything works fine. Like this: > > python2.7 if_else_mod.py > > This would be acceptable for me, however, I decided to do some of the > stuff you suggested. I get the following output when running env: > > Patricks-iMac:~ patrick$ env TERM_PROGRAM=Apple_Terminal > SHELL=/bin/bash TERM=xterm-256color > TMPDIR=/var/folders/3j/qy7_9bpx29g_nf_ymbkw_td0gn/T/ Apple_PubSub- > _Socket_Render=/private/tmp/com.apple.launchd.11PeMdZFpD/Render > TERM_PROGRAM_VERSION=343.7 TERM_SESSION_ID=1FC9A988-7B1E-4869-95D3- > 5FF71F9942F7 USER=patrick > SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.0PyXsYlSwi/Listeners > __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x3 PATH=/opt/local/bin:/opt/local/- > sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin > PWD=/Users/patrick DBUS_LAUNCHD_SESSION_BUS_SOCKET=/private/tmp/com.a- > pple.launchd.dJkzL2MOo1/unix_domain_listener LANG=de_DE.UTF-8 > XPC_FLAGS=0x0 XPC_SERVICE_NAME=0 SHLVL=1 HOME=/Users/patrick > LOGNAME=patrick DISPLAY=/private/tmp/com.apple.launchd.KWH6aSklFz/org- > .macosforge.xquartz:0 _=/usr/bin/env > > > I see that I only have a PATH variable set, but no PYTHONPATH. And > /opt/local/bin seems to be the first in place?! With > > Patricks-iMac:bin patrick$ pwd /usr/bin Patricks-iMac:bin patrick$ > ./py pydoc python python2.6-config pythonw > pydoc2.6 python-config python2.7 pythonw2.6 > pydoc2.7 python2.6 python2.7-config pythonw2.7 > > I see that I have even more python installs. Now I ran > > Patricks-iMac:bin patrick$ which python /usr/bin/python Patricks- > iMac:bin patrick$ port select --list python Available versions for > python: none (active) python26-apple python27 python27-apple > > So terminal normally would run "python" (didn’t look up the version). > And MacPorts? All this is what comes out of a clean OS X 10.9 install > with an update to 10.10 and then a GNURadio install via MacPorts. > Didn’t try yet to change one of the env variables or use the 'sudo > port select python python27‘ command. What would your suggestions now > be? What I don’t understand is why I have to tell MacPorts to use > python2.7, if in fact I want to tell that to my terminal? ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Running flowgraphs from command line
Hi, I did the following command, as suggested: Patricks-iMac:work patrick$ sudo port select python python27 Selecting 'python27' for 'python' succeeded. 'python27' is now active. Patricks-iMac:work patrick$ python if_else_mod.py Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6 As you can see python crashes and I also get another GUI fail message. Running like python2.7 if_else_mod.py still works, though. I tried to revert the above change, but: Patricks-iMac:work patrick$ sudo port select python python Selecting 'python' for 'python' failed: The specified version 'python' is not valid. Think I will just stick with the way that works, until I at some point need to change something and then dive more into this. Thanks for your patience though. Greetings Patrick ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Running flowgraphs from command line
Hi everybody, I installed GNURadio on a fresh machine with Mac OS X 10.10.5 via MacPorts. I now have 2 Python installs in /usr/bin, python2.6 and python2.7. Running flowgraphs with GRC is no problem. However, when trying to run a .py-file from the terminal, as suggested in the guided tutorial 3.1 („if else“) some modules are not found: Patricks-iMac:work patrick$ python if_else_mod.py Traceback (most recent call last): File "if_else_mod.py", line 18, in from PyQt4 import Qt ImportError: No module named PyQt4 Why does it work, when running the file from GRC? Is my terminal using the wrong python install? How could I change that? I also tried changing the path variable on my notebook a few days ago, when I ran into the same problem. But since I am new to python and the command line I obviously made a mistake so that at some point I could not start the GRC anymore. So your help is appreciated and needed. Couldn’t find a similar question in the archives. Thank you. Patrick ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Running flowgraphs from command line
Hi Patrick, I think I might have the answer, although Michael Dickens could certainly provide better explanations and all that. You need to check your environment variables. You can do that in the command line by typing "env". Normally you should see something like " PYTHONPATH=/opt/local/Library/Frameworks/Python.framework/Version/2.7/lib/python2.7/site-packages/:/opt/local/lib/:/usr/local/lib/ " in the output. Normally Macports should adapt your ~/.profile file in order to tell your system where Macports put the stuff you installed. If for some reasons that fails, your PYTHONPATH (in this case) will not point to the correct directories. If that indeed is the case, then you might insert some lines to your ~/.profile file, i.e. "export PYTHONPATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/:/opt/local/lib/:/usr/local/lib/:$PYTHONPATH" and "export PATH="/opt/local/bin:/opt/local/sbin:$PATH"" at the end of that file. You might want to make sure that you can find PyQT4 yourself in those given directories. For example my PyQT4 folder is under "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages" After you inserted those lines to your .profile, you just need to open a new terminal, and you can again check via "env" if that worked out. Regards, Kevin Am 07.09.15 um 18:29 schrieb Patrick Krämer: > Hi everybody, > > I installed GNURadio on a fresh machine with Mac OS X 10.10.5 via MacPorts. I > now have 2 Python installs in /usr/bin, python2.6 and python2.7. Running > flowgraphs with GRC is no problem. However, when trying to run a .py-file > from the terminal, as suggested in the guided tutorial 3.1 („if else“) some > modules are not found: > > Patricks-iMac:work patrick$ python if_else_mod.py > Traceback (most recent call last): > File "if_else_mod.py", line 18, in > from PyQt4 import Qt > ImportError: No module named PyQt4 > > > Why does it work, when running the file from GRC? Is my terminal using the > wrong python install? How could I change that? I also tried changing the path > variable on my notebook a few days ago, when I ran into the same problem. But > since I am new to python and the command line I obviously made a mistake so > that at some point I could not start the GRC anymore. So your help is > appreciated and needed. Couldn’t find a similar question in the archives. > > Thank you. > Patrick > > > > > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Running flowgraphs from command line
Hi Patrick - So what's happening is that with GRC, because it was installed via MacPorts the MP version of Python is used. The terminal only knows what you tell it via environment variables such as PYTHONPATH (already suggested by Kevin Hofschröer) and PATH. In your case right now, I'll bet that the PATH contains /usr/bin before /opt/local/bin (if the latter is listed at all). If you do "which python", you'll see what your shell is executing when you type "python" (again, better /usr/bin/python [2.7 something]). Even if you add /opt/local/bin at the start of PATH, you might still need to tell MP to select the version of Python you want to use when you type "python" in the shell. You can list the options port has via "port select --list python", and then select Python 2.7 via "sudo port select python python27" if it not already active. Combining this with making sure /opt/local/bin comes first in PATH should solve your issue. Hope this helps! - MLD On Mon, Sep 7, 2015, at 12:29 PM, Patrick Krämer wrote: > I installed GNURadio on a fresh machine with Mac OS X 10.10.5 via > MacPorts. I now have 2 Python installs in /usr/bin, python2.6 and > python2.7. Running flowgraphs with GRC is no problem. However, when > trying to run a .py-file from the terminal, as suggested in the guided > tutorial 3.1 („if else“) some modules are not found: > > Patricks-iMac:work patrick$ python if_else_mod.py Traceback (most > recent call last): File "if_else_mod.py", line 18, in > from PyQt4 import Qt ImportError: No module named PyQt4 > > > Why does it work, when running the file from GRC? Is my terminal using > the wrong python install? How could I change that? I also tried > changing the path variable on my notebook a few days ago, when I ran > into the same problem. But since I am new to python and the command > line I obviously made a mistake so that at some point I could not > start the GRC anymore. So your help is appreciated and needed. > Couldn’t find a similar question in the archives. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio