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
next prev parent 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