I have a script that must be run with Python 2.6.x. If one tries
to run it with, say, 2.5.x, *eventually* it runs into problems and
crashes. (The failure is quicker if one attempts to run it with
Python 3.x.)
Is there some way to specify at the very beginning of the script
the acceptable range of Python versions?
TIA!
kynn
P.S. I know that I can hardcode the path to a specific intpreter
in the #! line, but I'm trying to keep the code a bit more general
than that.
min_version = (2,6)
import sys
if sys.version_info < min_version :
print >> stderr, "must be run with at least Python 2.6"
sys.exit(1)
> TIA!
>
> kynn
>
> P.S. I know that I can hardcode the path to a specific intpreter
> in the #! line, but I'm trying to keep the code a bit more general
> than that.
If you are working on linux, you can change the shebang line from:
#!/usr/bin/python
to:
#!/usr/bin/python2.6
Best regards,
Javier
P.S. If you just want to avoid python 3 while running the latest
python 2.x version, this should also work:
#!/usr/bin/python2
2009/11/11 Benjamin Kaplan <benjami...@case.edu>:
> On Wed, Nov 11, 2009 at 12:16 PM, kj <no.e...@please.post> wrote:
>>
>>
>>
>>
>> I have a script that must be run with Python 2.6.x. If one tries
>> to run it with, say, 2.5.x, *eventually* it runs into problems and
>> crashes. (The failure is quicker if one attempts to run it with
>> Python 3.x.)
>>
>> Is there some way to specify at the very beginning of the script
>> the acceptable range of Python versions?
>>
>
> min_version = (2,6)
> import sys
> if sys.version_info < min_version :
> print >> stderr, "must be run with at least Python 2.6"
> sys.exit(1)
>
>
>> TIA!
>>
>> kynn
>>
>> P.S. I know that I can hardcode the path to a specific intpreter
>> in the #! line, but I'm trying to keep the code a bit more general
>> than that.
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
True, except that it doesn't meet the OP's requirements. The OP wanted
to be able to specify a range of versions. The problem with changing
the shebang line is that there's no way to say "python 2.5 or 2.6 or
2.7"
Regardless, it's much better to do #!/usr/bin/evn python2.6 instead of
hard-coding the path because not everyone has their interpreter in the
same spot. I have the Macports python 2.6.4 installed in
/opt/local/bin and I'd get kind of annoyed if a script, insisted on
using the 2.6.1 that came with the system, especially if it depends on
3rd party libraries.
> 2009/11/11 Benjamin Kaplan <benjami...@case.edu>:
>> On Wed, Nov 11, 2009 at 12:16 PM, kj <no.e...@please.post> wrote:
>>>
>>>
>>>
>>>
>>> I have a script that must be run with Python 2.6.x. If one tries
>>> to run it with, say, 2.5.x, *eventually* it runs into problems and
>>> crashes. (The failure is quicker if one attempts to run it with
>>> Python 3.x.)
>>>
>>> Is there some way to specify at the very beginning of the script
>>> the acceptable range of Python versions?
>>>
>>
>> min_version = (2,6)
>> import sys
>> if sys.version_info < min_version :
>> print >> stderr, "must be run with at least Python 2.6"
>> sys.exit(1)
>>
>>
>>> TIA!
>>>
>>> kynn
>>>
>>> P.S. I know that I can hardcode the path to a specific intpreter
>>> in the #! line, but I'm trying to keep the code a bit more general
>>> than that.
>On Wed, Nov 11, 2009 at 12:16 PM, kj <no.e...@please.post> wrote:
>>
>>
>>
>>
>> I have a script that must be run with Python 2.6.x. =A0If one tries
>> to run it with, say, 2.5.x, *eventually* it runs into problems and
>> crashes. =A0(The failure is quicker if one attempts to run it with
>> Python 3.x.)
>>
>> Is there some way to specify at the very beginning of the script
>> the acceptable range of Python versions?
>>
>min_version =3D (2,6)
>import sys
>if sys.version_info < min_version :
> print >> stderr, "must be run with at least Python 2.6"
> sys.exit(1)
Thanks!
kynn
sys.hexversion,
see http://mail.python.org/pipermail/python-list/2009-June/185939.html
-- Yinon
>sys.hexversion,
>see http://mail.python.org/pipermail/python-list/2009-June/185939.html
Cool. Thanks.
kynn