Re: [matplotlib-devel] [Anaconda Support] OSX: why not make "python" invoke the framework?

2014-08-22 Thread Harold Mills
I'm no bash scripting expert, but I think the problem here is that the 
Anaconda pythonw script does not quote "$@". That is, I suspect that the 
third line of the script should be:

/Users/Harold/anaconda/python.app/Contents/MacOS/python "$@"

rather than:

/Users/Harold/anaconda/python.app/Contents/MacOS/python $@

The latter causes command line arguments that contain spaces to be split 
and passed on as multiple arguments, while the former avoids the splitting. 
So, for example, if I create a file called "test.py" containing

import sys
print sys.argv

and run

pythonw test.py "1 2" 3

(where pythonw invokes the regular Anaconda pythonw) the output is

['test.py', '1', '2', '3']

but with the "$@" quoted I get:

['test.py', '1 2', '3']

I discovered this apparent fix by reading the "Positional Parameters" 
section at http://www.tldp.org/LDP/abs/html/internalvariables.html#APPREF .

Harold Mills


On Thursday, August 21, 2014 7:40:04 PM UTC-4, Chris Beaumont wrote:
>
> There are some idiosyncrasies to Anaconda's pythonw -- for example, the 
> behavior of "-c":
>
> python -c "print 1+2" -> 3
> pythonw -c "print 1+2" -> Nothing
> /usr/bin/pythonw -c "print 1+2" -> 3
>
> chris
>
> On Thu, Aug 21, 2014 at 6:59 PM, Chris Barker  > wrote:
>
>> On Thu, Aug 21, 2014 at 3:53 PM, Aaron Meurer > > wrote:
>>
>>> The only potential issue I can think of for making python=pythonw is
>>> that pythonw is a shell script:
>>>
>>
>> I agree -- that could create issues (though will mostly work, I suppose)
>>
>> But somehow the python.org build has managed to make a pythonw that IS a 
>> proper executable:
>>
>> ORRW-M-1275474:bin chris.barker$ pwd
>> /Library/Frameworks/Python.framework/Versions/2.7/bin
>>
>> ORRW-M-1275474:bin chris.barker$ ls -l pythonw
>> lrwxr-xr-x  1 root  wheel  8 Jul 16  2013 pythonw -> pythonw2
>>
>> ORRW-M-1275474:bin chris.barker$ ls -l pythonw2
>> lrwxr-xr-x  1 root  wheel  10 Jul 16  2013 pythonw2 -> pythonw2.7
>>
>> ORRW-M-1275474:bin chris.barker$ ls -l pythonw2.7
>> -rwxr-xr-x  1 chris.barker  admin  9180 May 13  2013 pythonw2.7
>>
>> ORRW-M-1275474:bin chris.barker$ file  pythonw2.7
>> pythonw2.7: Mach-O executable i386
>>
>> (yes, ti works for 64 bit too -- this just happens to be what I have)
>>
>> It would be nice if Anaconda would do it the same way.
>>
>> -Chris
>>
>>
>>  
>>
>>
>>  
>>
>>> #!/bin/bash
>>> export PYTHONEXECUTABLE=/Users/aaronmeurer/anaconda/bin/python
>>> /Users/aaronmeurer/anaconda/python.app/Contents/MacOS/python $@
>>>
>>> This is needed because otherwise Python thinks its sys.prefix is
>>> ../../ from the executable, i.e.,
>>> /Users/aaronmeurer/anaconda/python.app/Contents/MacOS
>>>
>>> $~/anaconda/python.app/Contents/MacOS/python
>>> Python 3.4.1 |Continuum Analytics, Inc.| (default, Aug 11 2014, 14:17:03)
>>> [GCC 4.2.1 (Apple Inc. build 5577)] on darwin
>>> Type "help", "copyright", "credits" or "license" for more information.
>>> >>> import sys
>>> >>> sys.prefix
>>> '/Users/aaronmeurer/anaconda/python.app/Contents'
>>>
>>> I'm not sure what kinds of issues this would cause having python be a
>>> shell script rather than a Mach-O 64-bit x86_64 executable (or a
>>> symlink to a Mach-O 64-bit x86_64 executable).
>>>
>>> I suppose you could do this (replace 3.4 with 2.7 if you use Python 2):
>>>
>>> $mv ~/anaconda/bin/python3.4 ~/anaconda/bin/python3.4-orig
>>> $ln -s ~/anaconda/bin/pythonw /Users/aaronmeurer/anaconda/bin/python3.4
>>>
>>> and see if anything breaks (or if you don't want to risk breaking your
>>> main Python install, do it in a separate conda environment).
>>>
>>> Aaron Meurer
>>>
>>>
>>> On Fri, Aug 15, 2014 at 2:37 PM, Derek Homeier
>>> > wrote:
>>> > On 14 Aug 2014, at 11:40 pm, Chris Barker >> > wrote:
>>> >
>>> >> On Thu, Aug 14, 2014 at 12:07 PM, Eric Firing >> > wrote:
>>> >>  but as far as I can see, on OSX, there is no *advantage* to 
>>> non-framework python.  Is this correct?
>>> >>
>>> >> Suggestion for anaconda:
>>> >> make bin/python a link to ../python.app/Contents/MacOS/python
>>> >>
>>> >> NOTE: the python.org python build has been doing this (or something 
>>> like it) for years and many versions -- I had gotten pretty used to it and 
>>> was pretty annoyed when I discovered Anaconda keeps anon-framework binary 
>>> as the default.
>>> >>
>>> >> It was annoying enough that I had to explicitly call pythonw (or 
>>> alter the #! line) for my wxPython scripts, but with ipython it's even 
>>> worse -- how would I start up ipython with a framework build?
>>> >>
>>> >> NOTE: if the Anaconda folks really think there is a real downside to 
>>> using the framework executable for the default python, maybe the ipython 
>>> start up script could use pythonw ?
>>> >>
>>> >> Eric - have you tried recent MPL with the python.org builds to 
>>> confirm the issue? I'm a bit surprised that it would even semi-work -- when 
>>> I try wxPython with the regular executable, I get an error message and it 
>>> wont run at al

[matplotlib-devel] mac osx dmg files

2014-08-22 Thread Thomas Caswell
Are we planning to make and distribute .dmg (damage?!?) files for 1.4?
 If so who is making them?  If not, we should remove that section form
`installing_faq.rst`.

Tom

-- 
Thomas Caswell
[email protected]

--
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
___
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel