On 16/08/13 22:31, William Kenworthy wrote:
> On 16/08/13 22:15, Canek Peláez Valdés wrote:
>> On Fri, Aug 16, 2013 at 9:12 AM, William Kenworthy <[email protected]> 
>> wrote:
>>> On 16/08/13 15:34, Keith Dart wrote:
>>>> Re , William Kenworthy said:
>>>>> olympus ~ # ceph
>>>>>   File "/usr/bin/ceph", line 192
>>>>>     print '\n', s, '\n', '=' * len(s)
>>>>>              ^
>>>>> SyntaxError: invalid syntax
>>>>> olympus ~ #
>>>>
>>>>
>>>> In Python 3 "print" is a function, and should be called like this:
>>>>
>>>>    print('\n', s, '\n', '=' * len(s))
>>>>
>>>> This works as-is in Python 2, unless you have this at the top of the
>>>> file:
>>>>
>>>>       from __future__ import print_function
>>>>
>>>>
>>>> -- Keith
>>>>
>>>>
>>> Thanks Keith, that was suggested on the ceph list but grepping doesnt
>>> show it in the source.  With this version of ceph they have replaced the
>>> "ceph" binary with a python script so its quite different from the older
>>> version which works.  They target mainly centos and ubuntu/debian so I
>>> will have to keep looking.
>>
>> Have you tried a simple:
>>
>> python3 /usr/bin/ceph
>>
>> Regards.
>>
> 
> No, doesnt work either.  The ceph guys say it works fine for them which
> leaves me suspecting something is broken on my system ...
> 
> BillK
> 
> 

Still not sure if I have a bug or a broken system.

1. If I use eselect to set python 3 and build ceph from the 9999 ebuild
it wont work
2. If I eselect python 2.7 it wont work
3. if I rebuild it with python 2.7 selected it now WORKS - yea!
4. if I eselect python 3.2 it wont work :(

Ok, I am suspecting that something in ceph isnt playing nicely with the
gentoo eselect system and having python2 and python3 on the system  :(

I guess its pulling in something python2 when 3 is active which is where
the __future__ mechanism comes into play.

So next question is ... can I remove python2? - last I heard, portage
needs python2 and wont run properly with python3 - is that still the case?


BillK



Reply via email to