rockhammer
rockhammer

Reputation: 967

how to specify version of python to run a script?

I'm learning python now using a mac which pre-installed python 2.7.5. But I have also installed the latest 3.4.

I know how to choose which interpreter to use in command line mode, ie python vs python 3 will bring up the respective interpreter.

But if I just write a python script with this header in it "#!/usr/bin/python" and make it executable, how can I force it to use 3.4 instead of 2.7.5?

As it stands, print sys.version says:

2.7.5 (default, Aug 25 2013, 00:04:04) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]

Upvotes: 4

Views: 37290

Answers (4)

Tal Haham
Tal Haham

Reputation: 1628

You can add to the Python script a first line of:

#!/usr/bin/env python3

It is better than setting the path or the exact python 3 sub version if not needed.

Upvotes: 1

user13368899
user13368899

Reputation:

In python you can use:

py yourscript.py -version

Upvotes: 0

Juko
Juko

Reputation: 39

You know, you can start python with py -specific version To run a script on interpreter with a specific version you'll just start your script with following parameters, py yourscript.py -version

Upvotes: 3

alecxe
alecxe

Reputation: 473753

Set the shebang (script header) to the path to python3.4 which you can get using which.

For example, here's what do I have:

$ which python
/usr/bin/python
$ which python3.4
/usr/local/bin/python3.4

Then, just set the shebang appropriately:

#!/usr/local/bin/python3.4

Upvotes: 8

Related Questions