public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: Mike Edenfield <kutulu@kutulu.org>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] bash stopped running python scripts...
Date: Mon, 03 Aug 2009 18:08:48 -0400	[thread overview]
Message-ID: <4A775FF0.503@kutulu.org> (raw)
In-Reply-To: <200908032348.05377.alan.mckinnon@gmail.com>

On 8/3/2009 5:48 PM, Alan McKinnon wrote:
> On Monday 03 August 2009 23:22:08 Mike Edenfield wrote:
>> On 8/3/2009 5:03 PM, Alan McKinnon wrote:
>>> On Monday 03 August 2009 22:56:51 Mike Edenfield wrote:
>>>> kutulu@apollo ~ $ cat test.py
>>>> #!/usr/bin/python
>>>> import sys
>>>> print "Python Ok."
>>>> kutulu@apollo ~ $ ./test.py
>>>> X connection to localhost:11.0 broken (explicit kill or server
>>>> shutdown). ./test.py: line 3: print: command not found
>>>> kutulu@apollo ~ $ python ./test.py
>>>> Python Ok.
>>>> kutulu@apollo ~ $
>>>
>>> Did you recently merge python-3 and were so foolish as to make it the
>>> default?
>>
>> I did emerge python-3, but then unmerged it almost immediately, and it
>> was never the default.  Python was already broken when I merged python
>> 3.1, which I did to see if it fixed anything, which of course it didn't.
>>
>>> What is /usr/bin/python? and what version is it (-V)?
>>
>> root@apollo ~ # /usr/bin/python -V
>> Python 2.6.2
>> root@apollo ~ # cat /usr/bin/python
>> #!/bin/bash
>> # Gentoo Python wrapper script
>>
>> [[ "${EPYTHON}" =~ (/|^python$) ]]&&  EPYTHON="python2.6"
>> "${0%/*}/${EPYTHON:-python2.6}" "$@"
>>
>> Is that supposed to be that way?  I vaguely recall from my Tcl days that
>> tclsh used to cause problems with the #! lines when it was a shell
>> script, and that you had to use some odd exec trick to get tcl shell
>> scripts to run.  Is that still true?
>
> I have the identical file, it works here.

That's very odd, as everything I've read over the past hour indicates 
that it's not *supposed* to work if you put a shell script in that line, 
but that's clearly not always true.

What's the #! line in your /usr/bin/emerge file?

> Your original post has a "X connection to localhost:11.0 broken" error,
> which is mighty unusual. The error is common enough, but has nothing to do
> with python.

I know where that particular error is coming from.  The first 
non-comment line in /usr/bin/emerge is "import sys".  Since bash is 
interpreting the script instead of python, when it gets to that line, it 
runs ImageMagick's "import" command.  It just indicates that bash 
ignored the #! line and kept going.

The bug Remy sent me to did have two working solutions: replacing the 
shell script with a symlink, or replacing "#!/usr/bin/python" with 
"#!/usr/bin/env python" in emerge/ebuild, both of which point the #! 
line at a real executable.  I'm now curious why that shell script works 
for anyone.

--Mike



  reply	other threads:[~2009-08-03 22:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-03 20:56 [gentoo-user] bash stopped running python scripts Mike Edenfield
2009-08-03 21:03 ` Alan McKinnon
2009-08-03 21:22   ` Mike Edenfield
2009-08-03 21:48     ` Alan McKinnon
2009-08-03 22:08       ` Mike Edenfield [this message]
2009-08-04  8:05         ` Alan McKinnon
2009-08-03 21:14 ` [gentoo-user] " Remy Blank
2009-08-03 21:28   ` Mike Edenfield
2009-08-04 11:13   ` Graham Murray
2009-08-04 12:59     ` Mike Edenfield
2009-08-04 17:41       ` Remy Blank

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A775FF0.503@kutulu.org \
    --to=kutulu@kutulu.org \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox