discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Running flowgraphs from command line


From: Michael Dickens
Subject: Re: [Discuss-gnuradio] Running flowgraphs from command line
Date: Tue, 08 Sep 2015 09:22:30 -0400

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_td00000gn/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             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?
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]