9

Having various projects in both Python 2 and Python 3 (with both python versions installed), I was looking for a more intuitive way to run scripts via Command Prompt than py -3 script.py.

Python 2 already took python script.py, so ideally python3 script.py should invoke Python 3.

My question: How can I add python3 as a Command Prompt command?

2
  • #! /usr/bin/python2.7 #! /usr/bin/python3.5 Commented Aug 3, 2016 at 4:39
  • Most operating systems do this (python/python3) by default. Commented Aug 3, 2016 at 4:40

2 Answers 2

11

If Python 2 and 3 are both installed and in the PATH variable, you can do:

py -2

or

py -3

Sign up to request clarification or add additional context in comments.

Comments

6

Searching did not yield good results, so I thought I should share the process I took with anyone looking for this in the future.

  1. Make sure the Python 3 folder is present in the PATH environment variable.
  2. Locate the "python.exe" file in the Python 3 folder.
  3. Copy and Paste the "python.exe" file within the Python 3 folder.
  4. Rename the copied file to "python3" (or whatever you want the command to be).

Now, when you input python3 script.py to Command Prompt, the script will run through the copied Python 3 file.

Also, by copying python.exe (instead of renaming it) you allow other interpreters - such as PyCharm - to continue using their default "python.exe" path settings.

I hope this helps!

EDIT:

A "symlink" has the same effect, but keeps things a bit tidier.

6 Comments

Rather than copying the python executable simply create a symlink.
I'm fairly certain after some searching, I could find this exact solution elsewhere, but glad you solved it
ahh! This is not a good solution at all! I'm glad it worked but (a) properly configuring your %PATH%, and (b) using the Python Launcher should be all that you need. If for some reason it's not, then dimo414's suggestion of a symlink is much better.
The reason you want a symlink is that a "python3.exe" symlink will still be valid if "python.exe" gets replaced by an in-place upgrade. You don't have to remember to copy the file again. Just run mklink python3.exe python.exe in an administrator command prompt.
Ah! I had never heard of a symlinks before! Thank you for this information.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.