JSoothe
JSoothe

Reputation: 271

Using multiple versions of Python

I have both Python 3.3 and Python 2.7 installed on my computer. The python 3.3 works fine, but when I try to run something using python 2.7, it is still referencing python 3.3.

For Example: if I type F:\Python33\python33.exe test1.py, it will run with 3.3 and work fine, but if I type F:\Python27\python27.exe test1.py it gives this error:

File "F:\PYTHON33\LIB\site.py", line 173
    file=sys.stderr)
        ^
SyntaxError: invalid syntax

Note: I have renamed the Python 2.7 and 3.3 .exe's to python27.exe and python33.exe respectively.

Any help would be appreciated, Thank you.

Upvotes: 19

Views: 25790

Answers (7)

Ankushi Sharma
Ankushi Sharma

Reputation: 59

I received the same error when I was running my python file using python filename.py my PYTHONPATH was set to use python3

I fixed it by using the below command to run my file

python3 filename.py

Upvotes: 0

Superdooperhero
Superdooperhero

Reputation: 8096

Setting the PYTHONPATH environment variable to nothing fixed this issue for me.

Upvotes: 2

Samir 007
Samir 007

Reputation: 179

You will get issue if multipler version of python is set

File "F:\PYTHON33\LIB\site.py", line 173 file=sys.stderr) ^ SyntaxError: invalid syntax

To fix this issue remove previous version python set in system environment variable enter image description here

Upvotes: 3

marknuzz
marknuzz

Reputation: 2932

Changing the executable files isn't an option for everyone, and uninstalling can risk breaking programs that depend on that Python installation.

My answer here doesn't guarantee that you can run both versions side by side seamlessly, but I was able to resolve it without something as major as uninstalling.

In my case, the problem was that the PYTHONPATH and PYTHONHOME environment variables were both set to the 3.x installation path, whereas I needed to use the 2.x installation. Replacing these environment variables with the 2.x path and restarting the shell was an acceptable workaround for me.

Upvotes: 0

fear_matrix
fear_matrix

Reputation: 4960

I got this fixed by removing the = sign and simply keeping as sys.stderr

Upvotes: -2

Robobenklein
Robobenklein

Reputation: 285

Google search results have returned a few useful resources that answer your problem.

Python Docs

The Python Documentation (http://docs.python.org/3.3/using/windows.html#python-launcher-for-windows) gives a quick overview for running multiple versions on the same machine.

The first option would be to include your python version in the file you wish to execute using something along the lines of

#! python
Your code here

To execute in Python 2, or

#! python3
Your code here

For running the code in your Python 3 version. Then you would simply use "python yourscript.py" and the python version would be specified by the Python script.

StackExchange Sites

There are multiple other questions which may address the problem you are facing:
How to install both Python 2.x and Python 3.x in Windows 7

Or for Ubuntu 13: Ubuntu 13.04 Install and running Python 3 at the same time than Python 2.7.x

Or for Mac using Homebrew: How can I use Homebrew to install both Python 2 and 3 on Mac?
And a video reference for Mac without Homebrew: http://www.youtube.com/watch?v=c9LlK2iu7OA

Upvotes: 3

mchfrnc
mchfrnc

Reputation: 5713

If you want to use different versions of Python try something like VirtualEnv.

UPDATE: Additional topic for you: Use different Python version with virtualenv

Upvotes: 0

Related Questions