Prev: how to ensure item in list or dict bind with "an uuid meaning" integer type ID?
Next: Build unordered list in HTML from a python list
From: Baris CUHADAR on 30 Jun 2010 04:06 Can anyone explain this unexpected behavior? all files chmod 755, i've compiled x.py with py_compilefiles, also tried within python console with "import x" system: centos 5.4 32bit This a PATH related problem i think? [root(a)centos-14 cgi-bin]# ./x.pyc : command not found ../x.pyc: line 2: syntax error near unexpected token `)' ../x.pyc: line 2: `��)Lc@sdGHdGHdkZeiGHdS(sContent-Type:text/ html' [root(a)centos-14 cgi-bin]# python x.pyc Content-Type:text/html python 2.4.3 (#1, Sep 3 2009, 15:37:12) [GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] -------------------------------------------------------------------------------------------- x.py file content: #!/usr/bin/env python print "Content-Type:text/html\n\n" print "python" import sys print sys.version --------------------------------------------------------------------------------------------
From: Chris Rebert on 30 Jun 2010 04:14 On Wed, Jun 30, 2010 at 1:06 AM, Baris CUHADAR <189780(a)gmail.com> wrote: > Can anyone explain this unexpected behavior? > all files chmod 755, i've compiled x.py with py_compilefiles, > also tried within python console with "import x" > > system: Â centos 5.4 32bit > > This a PATH related problem i think? Nope. > [root(a)centos-14 cgi-bin]# ./x.pyc ..pyc files are just bytecode, not scripts, so you can't run them as scripts/executables under *nix. Run the .py file instead. Or do `python x.pyc` like you showed. Cheers, Chris -- http://blog.rebertia.com
From: Rami Chowdhury on 30 Jun 2010 04:31 On 2010-06-30 01:06, Baris CUHADAR wrote: > Can anyone explain this unexpected behavior? I'm sorry -- can you let us know what behavior you're expecting? > all files chmod 755, i've compiled x.py with py_compilefiles, > also tried within python console with "import x" > > system: centos 5.4 32bit > > This a PATH related problem i think? > Perhaps I'm misunderstanding what you're trying to do but from what I can see, you are expecting .pyc files to be directly executed by the shell. And as I understand them, they are *not* meant to be directly executed by the shell at all -- they're simply a sometimes-useful shortcut for the Python interpreter. Python scripts like your x.py, however, *are* meant to be executed by the shell. Have you tried: [user(a)box cgi-bin]$ ./x.py ? > [root(a)centos-14 cgi-bin]# ./x.pyc May I ask, as well, why you're doing all of this as root? > > > [root(a)centos-14 cgi-bin]# python x.pyc > Content-Type:text/html > > > python > 2.4.3 (#1, Sep 3 2009, 15:37:12) > [GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] > > -------------------------------------------------------------------------------------------- > > x.py file content: > > #!/usr/bin/env python > > print "Content-Type:text/html\n\n" > print "python" > import sys > print sys.version > > -------------------------------------------------------------------------------------------- > > > -- > http://mail.python.org/mailman/listinfo/python-list
From: Baris CUHADAR on 30 Jun 2010 04:54 On Jun 30, 11:31 am, Rami Chowdhury <rami.chowdh...(a)gmail.com> wrote: > On 2010-06-30 01:06, Baris CUHADAR wrote: > > > Can anyone explain this unexpected behavior? > > I'm sorry -- can you let us know what behavior you're expecting? > > > all files chmod 755, i've compiled x.py with py_compilefiles, > > also tried within python console with "import x" > > > system: centos 5.4 32bit > > > This a PATH related problem i think? > > Perhaps I'm misunderstanding what you're trying to do but from what I can > see, you are expecting .pyc files to be directly executed by the shell. And > as I understand them, they are *not* meant to be directly executed by the > shell at all -- they're simply a sometimes-useful shortcut for the Python > interpreter. > > Python scripts like your x.py, however, *are* meant to be executed by the > shell. Have you tried: > > [user(a)box cgi-bin]$ ./x.py > > ? > > > [root(a)centos-14 cgi-bin]# ./x.pyc > > May I ask, as well, why you're doing all of this as root? > > > > > [root(a)centos-14 cgi-bin]# python x.pyc > > Content-Type:text/html > > > python > > 2.4.3 (#1, Sep 3 2009, 15:37:12) > > [GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] > > > -------------------------------------------------------------------------------------------- > > > x.py file content: > > > #!/usr/bin/env python > > > print "Content-Type:text/html\n\n" > > print "python" > > import sys > > print sys.version > > > -------------------------------------------------------------------------------------------- > > > -- > >http://mail.python.org/mailman/listinfo/python-list > > Thank you for your replies. This machine is a local virtual test machine so security issues are omitted. Actually i wrote some scripts in python that are working as gateway controlling scripts iptables/tc/squid-proxy, and i want to execute them as cgi. Protection of source code is also important. These scripts works fine with ubuntu 9.10 and ubuntu 10.04, trying to eleminate this execution error and successfully port them to centos 5.4. Or i have to rewrite these scripts in C which is time comsuming. On centos 5.4, i think httpd tries to execute it as i did "./x.pyc".
From: Christian Heimes on 30 Jun 2010 05:06
> Actually i wrote some scripts in python that are working as gateway > controlling scripts iptables/tc/squid-proxy, and i want to execute > them as cgi. Protection of source code is also important. These > scripts works fine with ubuntu 9.10 and ubuntu 10.04, trying to > eleminate this execution error and successfully port them to centos > 5.4. Or i have to rewrite these scripts in C which is time comsuming. It looks like you have the binfmt kernel feature installed and configured on your Ubuntu machines. Do you have some Python related files in /proc/sys/fs/binfmt_misc/ ? Christian |